Use fixed-height tracks stacked vertically

Rather than space the tracks out into the available space, stack them up along
the bottom with a fixed height each.  This is the first tiny step in a larger UI
overhaul to enable fluid navigation.  Once a given read is in view it should
remain in the same relative position when panning left and right.
Only show the about box on the first pageload in a session

It's annoying that reloading the page displays the about box.  Instead lets
show it automatically only once per session (i.e. until the tab is closed).
Users can of course still click on the about link anytime.
Fix stupid transfer logging bug

Somewhere along the line I lost the /1024 I had for reporting kb transferred
Overhaul read management to support incremental updates

For smooth navigation we don't want individual reads changing vertical position,
or ideally not see whitespace getting filled by content after loading.

This CL overhauls how reads are managed to use a similar approach to the tile
cache in mapping applications.  We have a read cache for data that is nearby
the view, can quickly update the view (pan/scale) to show other elements
of the cache, and asychronously update the cache to add/remove items that
have become (or are no longer) "nearby".

This CL also limits the SVG elements that are created to just those that
need to be displayed at any given time.  Data sets with deep coverage
(or very long reads) would cause a huge number of text nodes, which we'd
then update the style of every frame.  Now we create/remove nodes as
needed, never creating letter nodes just to have them be hidden.