Remove the __defineGetter/Setter__ methods

They're old JavaScript, so we move to the
standardised version of creating getters/setters
Make the google data retrieval work serverside too
Fix for http errors on getting data
Adding support for loading UserData server-side
Clustal re-alignment bugfix

We needed to make sure we're counting the right number
of residues to excise
Add an event to track readers on rendererers

We want to be able to respond to different identifiers
being rendered on the same renderer, so a mechansim
to do so has been added in. E.g. the alignment reader
can watch the renderer to check for anyone rendering
on it, so that it can modified indexes to handle
tweaked sequences
Small fixes to handle loss of sequence at start

Make sure the alignment works with various alignment
options
Automatically adjust sequence indexes with Clustal

If you connect clustal to a sequence renderer, you
can get it to automatically adjust indexes for
the proteins you align so the supplemental data
still aligns correctly.
Fix up position of tracers when rendering annotations
Fixes for the offset of annotations
Fix up position for tracers for other marker types
Add in proper alignment for callouts
Push rendered text tracks underneath all
Remove overlapping labels on the axis
Move cli code for google connection here

The GoogledataReader is now a generic reader of data that wraps
around the UserdataReader, doing the appropriate dance to parse
data.
Fix up the callback url for getting data
Support for using IndexedDB as a backend
Add in support for reading a fasta file
Fix for removing tracks
Google data access now works using OAuth 2.0