Grunt build upgrades

Sorry about the large changeset. This upgrades the build and hopefully supports all of the scenarios we had in mind or at least makes them easier.

### Summary
* Code coverage only applies during CI builds
* CoffeeScript and JavaScript supported everywhere
* LESS and CSS Support
  * Using LESS  now (a lot more power/flexibility on CSS and supports plain CSS)
* Generate source maps for CoffeeScript and LESS
* Linting for LESS/CSS
* Latest versions of build dependencies
* Using locally installed grunt-cli and nw-gyp for Travis builds
* Simpler tasks semantics (IMHO)

### Known Issues
* Had to remove the nw-gyp task for Travis builds because node-midi fails to compile :(
  * Ideally we'll get this running again later as a sanity check even though it has no impact on tests.

### TODO
* Fix source maps for LESS
* Update the README on how to use the new build tasks
* Document each custom task in Gruntfile
* To latest Angular once this branch is merged into develop
There's a `event` param in callbacks that is never used so this allows linting to pass.