Read optimization: only request per-base fields at base-level zoom

originalBases and baseQuality are the only fields of a read which
scale directly with the size of a read.  When at a read-level zoom
scale we shouldn't request and manipulate all this data.  This
change has a minor impact on the API in that hovering over a read
no longer displays the base at that position, but at read-level
scales that was pretty useless anyway (since you couldn't precisely
position the mouse cursor at each position).

For a simple 1000 genome's scenario this reduces the data transfer
volume for a simple navigation from about 150kb to about 60kb.
This also reduces the amount of heap allocations (and hence the GC
pressure) on each such navigation from about 7MB to around 600kB.
The reduced memory usage should be particularly important on
low-power and low-memory devices like phones.  Anecdotally I've
seen some very long (>1s) GC pauses when doing navigation at
read-level, so this should help improve things dramatically.
JS style: add braces to one-line if statements