[Router] Backbone router for controlling app state

As we move to multiple pages, we need a way to maintain state.

This backbone router maintains state between the various pages and handles loading and unloading views as we change state.