Documentation Sprint -- DO NOT MERGE

The purpose of this pull request is to bring the documentation for this project up to par. The goal of this pull request is the following:

* Add [jsdoc](http://usejsdoc.org/) to all javascript classes, methods, and properties.
* Add a *docs* directory to contain all design docs, etc.
* Add a basic style guide for documenting the code.
* Add document  describing the layout and overall structure of the project.

This is an ongoing pull request. Do not merge.