Add support for rotation.
Note: this only works properly if autorotation is disabled on the client.
This will probably only work with it on or off, not both, unless there's a
way to detect it.

Also adds preliminary (non-functioning) support for mouse clicks/drags as
an alternative to touch.