Refactorings, Single Page App

* Break down app.coffee into a new file for each class
* Convert to single page app
* Convert more JS to CoffeeScript
* Update Gulpfile to use paths

Fixes #18