Initial cut at fullscreen mobile-optimized UI

This overhauls the UI according to our mobile-first mocks.  This is still very
rough and supports only the graph view (must use a URL hash to test as there's
no UI for selecting backends / reads).

One key change is that the UI is now full screen and esponsive to size changes,
adapting on window resize (including device rotation).
Eliminate fixed scale levels

Rather than have a few specific fixed scale levels, the zoom scale should be
treated fluidly with key transition points for enabling/disabling types of UI.
Remove the scale levels and temporarly limit zooming to read view (since we
don't yet have any support for coverage view).  Also eliminate more code for
the zoom level indicator - our new UI doesn't have one.
Fix a few bugs with resize and scale/axis handling.

Also a little more cleanup eliminating specific zoom scales.
Fix bug with bases sliding around in base view

I forgot to apply a key function to match letters to readPieces properly,
this made for some pretty funky behavior when panning around in base view.
Fix bug with bases sliding around in base view

I forgot to apply a key function to match letters to readPieces properly,
this made for some pretty funky behavior when panning around in base view.
Update sequence label and position dynamically
Improve sceen usage for phone-size displays

Remove margin except for the axis at the bottom.
Use id field now that Google backends supply one.
Merge branch 'master' into new-ui