Navbar rewrite.

This cleans up the navbar, viewport system, navigation code, and keyboard input.

There are a few fixes in here that make the timeline data much more useful. More improvements can be made, but not a waste of space now.

Keyboard input and commands are cleaned up - and view keyboard input is only accepted if the tracks tab is selected. 

The nav bar visible view range is cleaned up and now drawn via the DOM, which means the canvas is only redrawn when data changes (or the mouse hovers, which needs to change). This speeds things up a bit on machines that are canvas draw-bound.

Fixes #93. Fixes #36 (sort of).