Peter,
I would rotate individual objects about their z axis, assuming your 2D objects are defined in x y coordinates.
glpushmatrix
glTranslatef tra_x, tra_y, tra_z
glRotatef rot_z, 0.0, 0.0, 1.0 'apply self rotation after any translation
'plot object..
glpopmatrix
I think the OS may be restricting your frame rate - this behaviour will not be the same on all platforms.
Charles