Do not reinstate old tracks in JBrowse.navigateToLocation.

We always call navigatetolocation from showRegion. And we always call
showRegion with a list of tracks to display.

showRegion will always opens the tracks passed to it as parameters. And
then, when jumping between tasks on two different reference sequences,
navigatetolocation tries to re-open tracks that were previously visible.
This causes tracks to be displayed twice when Afra jumps from a task on
one ref seq to a task on another ref seq.

Ideally, opening tracks should be idempotent.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
jquery.poll.js: start with initial value of input.

Or a change event would be fired on instantiation as undefined !== ''.

In Afra, this would cause an empty sequence modal to open when jumping between
tasks one ref seq to another.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Use Rack::Sendfile to serve data/jbrowse.

We use reverse proxy deployment on http://afra.sbcs.qmul.ac.uk. This patch lets
Afra delegate serving files in data/jbrowse to the frontend server (Nginx in
our case).

The previous setup, using Sinatra's send_file helper, would often fail to
"correctly" serve largish files (in particular, data/jbrowse/seq/refSeqs.json -
roughly 580KB at the time of this writing) on http://afra.sbcs.qmul.ac.uk.

Originally meant to circumvent the issue above, this improves performance as
well.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>