Added Misc.RotatePointOverOrigin

And moved that logic away from sprite drawing.
In preparation for stuff I probably can't get done anyway.