Grunt

I've migrated the existing `build/build.js` script over to [Grunt](http://gruntjs.com/).  Here are (probably) the most used cases:

- `grunt` - runs tests, builds the js and all of the docs
- `grunt test` - runs both jshint and jasmine tests
- `grunt js` - runs jshint and builds, minifies, and sourcemaps the javascript
- `grunt docs` - compiles the less and builds both the reference and spec docs

There are bits and pieces of tasks that can be run separately if the tasks above are too much.  Just run `grunt --help` to see the available tasks.