adding highlighting, key events, Selection.

There were a few changes in this delivery, however they were needed to get selection working.
Added functions to add Residues directly to MolViews & ChainViews.
Added Selector class which can handle highlighting, doubleClickZoom, zoomOnEnter. Also supports multi select by using the meta key (command on Mac, ctrl on Windows) and range select by using shift.
Added keyboard event handling through programatically setting focus to the parent dom object on mouseDown.
Updated doc for selection.

I believe this should be initialized based on already existing chains the MolView. Otherwise, duplicate chains will be added.