Generate accessor function conditionally

We don't always need an accessor function for the components. This adds some
logic to check if we should and only generates it when required.
Add a basic chain component.

Seems that the best way to support chains is to have a component for the
chains. This commit outlines the basic config for a chain. I may or may not add
interactivity to chains. Not sure if it is a good idea.
Reorganize the data folder

I'm going to start testing on multiple structures. It will be easier to do this
if I can choose structures and have all the data for them organized nicely.
This sets up that type of organization.
Add chosen plugin

I'm going to switch between structures so to do this I'm adding the chosen
plugin to make the selecting look nice. This adds and activates the plugin.
Update the select box
Add 3F4G

I'm using this structure because it has more than one chain. It will be a good
test case for circular diagrams with several chains.
Remove unneeded data file
Update select box to current structures

The select box now has the current structures.
Update jquery plugin

We will now use chains to store data, not nucleotides. This updates the jquery
plugin to change the names as needed.
Update chains

Update the config functions for accessing chain data.
Make sure interactions is a data store.

We do store interaction information in interactions so we now have to mark it
as a datastore. This adds that variable.
Mark motifs as a data store
Remove compute ordering

We don't always need the computed ordering so we shouldn't always compute it.
This removes that call from the main drawing function.
Alter resetting the zoom translation

We should make sure that the total translation is zero when totally zoomed out.
This forces that.
Add a todo note

I've had an idea that using a more complicated way to force the view into the
correct position would be useful. This todo note just puts that into code so I
don't forget.
Update loading to new setup

We now load chains not nucleotides and I've reorganized the data. This updates
the loading code to reflect that.
Add chosen sprites
Make non-datastores an object

We have to make the non-datastore components an object otherwise there is
nothing to assign the config values and the like to.
Bug fix motifs to chains

I had renamed nucleotides motifs, when it should've been chains. This was very
silly of me.
Remove some functions from nucleotides

I'm not going to compute the ordering everytime so I've decided to remove
functions related to that from the nucleotides component. This commit does that.