simonlucas:
I've read about PM stepping motors but not clear whether they are fast enough.
Probably fast enough to do what you want - but the problem you are trying to solve is a bit more difficult.
Basically, you are asking a motor to stop and start on a dime at a precise angle; without some sort of position feedback, this won't be possible.
The mass you are moving isn't large - but the mass of the rotor likely will be. You need to be able to start that mass moving, then bring it to a fairly precise stopping point at a 90 degree angle from where it originally was. Thus the need for position feedback.
What you'll want is known as an "absolute encoder" - you can either purchase one or build one; if you decide to purchase such an encoder, the more bits (thus the higher the resolution) of the encoder translates into a higher cost ($$$). That said, an 8 bit (256 values) encoder shouldn't cost much. Building one, while a possibility, may or may not be the best option - but here are a couple of links to get you started:
http://www.qsl.net/oe5jfl/encoder.htm
http://www.quirkfactory.com/robotics/single-encoder/
Now - once you know the position of the shaft, then you need to concentrate on acceleration and deceleration of the motor. A stepper motor can't be turned on at full speed, you have to gradually bring it up to speed (note that this can happen fairly quickly though, in only a few "steps" of the motor); furthermore, you need to detect when you are near your end-position, and gradually bring the motor back down to a stop (which again, can happen in a few steps). Finally, if accuracy is a goal (or accuracy over time) - then if there is over or undershoot of the final position, you need to be able to reverse the motor and bring it back into alignment with the desired end-position. All the while preventing oscillation.
You may have to (or want to) delve into the intricacies of a PID loop system for this control.
Ultimately, what you are building is a form of servo control system; certainly doable, certainly possible - but it isn't simply a matter of hooking up a motor and letting it run.
Also note that the above same kind of process would need to be applied to any other kind of motor (and some motors might even need an active EM brake or other braking system to keep the positioning in check).
You might want to look into other options; for example, there exist certain mechanical movements (escapements, cams, and similar devices) that can give you a 90-degree precise rotation given a continuous rotary input. Do some research on "mechanical movements" - you can find old books about the topic that have been scanned in at archive.org, for instance.
Another option might be to use a solenoid with a ratchet mechanism - every time the solenoid is triggered, it would pull on the ratchet, rotating the shaft with disk by some amount (so many degrees). Done right, with a proper brake mechanism to keep the shaft from advancing under the mass being rotated, such a system could be fairly accurate and fast (to a upper limit - you can only actuate a solenoid so fast electronically - but likely far faster than you need).
Those are my suggestions - they aren't meant to discourage you, only to get you to think about your problem and possible solution in a deeper manner. Good luck!