Camera rework

@kadst43 @eric79 

This should be finished, pending the review. This runs off of `vwf/mars-game-staging` and does not use the navigable changes I was attempting to make. It's similar to the `targetFollower/camera` model, but with the camera mount system we talked about.

I rewrote the camera pan functionality using the new system and I changed the delay from 17 seconds to 3 seconds (this can be tweaked). I know the delay is supposed to sync up with the VO, but it doesn't really and it's too long so when it pans after 17 seconds it feels like a bug. I think the user gets the point if the camera shows them the radio and then the VO tells them to travel to it.

I also rewrote the navigation modes so that we aren't messing with the `matrixWorld` directly.
What is a nomad camera?  Presumably one that wanders freely?

Do we need separate prototypes for our different cameras?  I believe the solution (in C++) is to have a single camera class, and then allow multiple instances of that class.  Each camera has all of the capabilities of cameras - so they can be fixed, they can be free roaming, they can be constrained.  What they actually are is controlled by setting their parameters.

Not saying we need to do it that way - but think whether this system will become limiting over time, as we want to take cameras that were built to only do one thing, and have them do something different.