I'm wondering how you intend to do rainbow tables with a GPU. I guess table generation is simple, but do you plan to support cracking with GPUs?
I once considered porting rainbowcrack to cuda, but I never really made progress on that because I lacked expertise and free time...
The way I've thought of for doing this is that you could do the main hashing on the CPU, but every time you get a match, instead of immediately switching to do a chain walk, you just save the alarm. When you have enough of them, you can fire off a volley to the GPU, which will do the chain walks in parallel. Since most of the time of a rainbow table attack is spent pursuing false alarms, I think this would both be practical (not expecting large memory requirements from the GPU) and give a considerable speedup.
Let me know if this sounds doable or if my idea is stupid. As I said, I haven't gotten to work with rainbowcrack's source nearly as much as I'd have liked to.