Initial implementation of RotateTool.
This is definitely going to need to be updated. Rotations don't map well to widgets like this, so we'll need to extract and abstract our basis vectors from getWorldTransforms if this is going to work as expected.
Or maybe we embrace gimbal lock and update drawWidget to show the unbalanced rotation rings.