Navigation flow through all view controllers and states

Resolves #74

- Quick UI fix for caption controller transition between history and single caption view
- major changes to VBRootController
- touches VBInputSource / VBWelcomeView / VBCheckin to use new rootController functions for transitions
- Navbar no longers has a "caption" icon as this is redundant.
- Fixed VBUserDataSource so that venue can be updated as checkins change

With this change, we should have preloaded view controllers that will already have fetched data by the time you transition into them, since they start and stay in memory. I've mapped all the necessary state changes to keep them up to date, and they also refetch data when the views swap back in.

List of important changes:
- use VBRootController:switchToAppState to switch/push views
- VBViewController:onRootViewDidLoad gets called once the root view has loaded and setup it's sub controllers.
- VBViewController:onRootMadeActive gets called when you switch to that view controller as the main view (i.e. you can do things like refetch data or re-check state)

Fixes to VBUserDataSource by allowing venue to update on any changes rather than only being set on init.