Add caching to the scene's center/radius methods

These can get called a lot, and are much more expensive when moving
around a system with millions of atoms in them.

Change-Id: I8fca440cca806aa876c845e1b724d0fbcc7edda6
Ensure we don't queue mouse events when navigating

Operations like navigation can lead to a queued set of camera moves,
instead delay rendering to aim for roughtly 30 frames per second.
This effectively merges mouse moves etc into chunks, although the
target frame rate may need to be exposed in the future.

Change-Id: I977e119eaa4aa1a13c068c6bc80df5b5fd4fdfb2
Merge branch 'rendering-performance'

Change-Id: I8688491b044748c3987f94ab67c6011fcab723fd