For any kind of circuit like this, I'd stay away from discretes and just use a 50 cent PIC like a PIC12F629.
Using the timers you can have multiple PWM lines in operation. The only limitations is current draw. The chip itself only allows a max of 25mA per pin with a max of 125mA for the chip, but you can make that as high as you want by using a transistor to go to 500mA or a MOSFET to go even higher.
You shouldn't even need a crystal if you program it right to use it's built-in calibration value. Very little passives will be needed. If you have higher current needs then using the external transistors per line will add a few more components....all depends on what you want to do.
Anyways, thats my 2 cents worth.