Remove nonfunctional labels component
Use a more object oriented setup for components

Components all have mostly the same properties and need the same setup. To
reflect this and make the code simpler I've added a component object. All
components now use it. Externally they present the same interface, however,
internally they are object oriented. I would like to add this setup to views as
well as they are overly complicated too.
Remove unneeded config file

The config can easily be done in the main file, so there is no reason to have a
sperate file. It just makes things more complicated than needed.
Major refactor

This now uses an OO system internally. I like this because it makes flow
through the library simpler. It does have some oddities however, like we don't
do normal mixins but instead modify objects directly. Nevertheless I think it
promotes code reuse and makes things clearer. Some code, such as setupView and
setupComponent are basically just cut and copies that need to be fixed.
However, overall I would say this is an improvement. There less callbacks
generating callbacks that take callbacks which is nice.
Use generic inherit method and highlight text

We don't need to nearly identical methods to do inheritance. Instead I make one
that does both. In addition, we use highlight text in the airport so we see the
number of the letter we are hovering over as well as the sequence.
Make interactions and motifs colorable
Use colorize not doColor
Merge branch 'feature/oo-components' into develop

Conflicts:
	src/components/nucleotides.js
	src/components/zoom.js
Update lib
Update pure jmol interface

The pure jmol interface needs to use my new oo component based interface. This
updates that component to use the correct interface. It is not yet tested
properly, but it is a start.