I'd recommend following setup:
-instead of connecting common lead of coils to VCC make 2 current sources out of LM317T and a 2W resistor of appropriate value (see datasheet). Mount those on a heatsink and deliver whatever voltage in 10-40V range.
-for switching coils I'm using TIP122 with base drive resistor of 1k.
-add some fast diode (preferably schottky) across transistor C-E cathode towards collector and anode to GND.
-add same diodes across each motor coil, also cathode towards power supply (or rather current source) and anode to transistor collector
-drive whole thing from whatever Microcontroller you see fit
Maximum current (and therefore torque) depends only on how much power you can dissipate from LM317T. In my experiment I powered whole thing from 15.8V, set current sources to 0.56A. At coil resistance of about 0.9R heatsink becomes HOT.
This is how it looks in reality:
https://imageshack.us/clip/my-videos/269/ljmm.mp4/
btw. pic16f84 sucks in terms or operation speed. of course it's possible to simultaneously drive many motors, but speed won't be that great. I'm actually using 18f2550 (had that at hand). I believe i could drive two more motors at the same speed, controlled individually.