Those sound like good Ideas. I'd suggest going to .1° of precision. I have no reason for that, just feels right.
I'd suggest making the objects "selectable". When you click on them, they stay selected until you click elsewhere, so you don't have to hold the mouse button. When doing that, you could show a text field with the current rotation and an up- and down arrow to increase or decrease by the .1 degree. Alternatively, you could make it so the user can enter a number manually.
Using the shift key for higher precision is a good idea. You could make it so the normal rotation is 1°, then hold shift to do .1°.