fix input sizes bug
major overhaul to js and Gruntfile

main changes:

* all javascript converted to coffeescript (including Gruntfile)
* improvements to "watch" task
* made use of js sourcemaps
* auto-generation of minified css and javascript
move options up one level
move loadNpmTasks calls closer to the bottom