Camera uses FSM
Implements a finite-state machine for the camera. Still some bugs but it's working pretty well.

1. The transition from moving to idle is pretty harsh.
2. The bounds thing may only need to be used from idle<-->moving transitions, when the camera is already following the player it feels pretty nice with the slightly delayed pan, even when just changing one lane.
3. We need to ROTATE!