Grunt integration

This PR lets Crafty be built and tested with the grunt framework.  This work was started by ukko; I finished up the doc generation and tweaked some of the other tasks.

If you have node installed, using this should  be pretty simple -- just checkout the branch and run `npm install`.  That should install all the node modules you need.   Then run `grunt <command>`.

The available commands are

* `concat` builds crafty.js.  (This is also the default)
* `api` builds the documentation
* `release` builds crafty.js and crafty-min.js, as well as the documentation
*`jshint` lints the project; currently this reports hundreds of issues
*`qunit` runs the core.html tests.
*`check` builds crafty.js, and then lints and tests it.

Would be nice if someone could test these before we land the patch.  (Though, I guess since the old build system is still there it won't matter too much.)

###  api-gen
The new doc generator is written in coffeescript, which is compiled to js.  (I suspect there's a way to avoid including the compiled file.)  It produces nearly identical output to the old generator.  Some small changes like how method returns are displayed, and the actual HTML probably isn't identical.  

Some easy checks I included reveal several  places where documentation was broken (missing data necessary to be included in the docs.)  I'll submit a later PR request to fix all those.  :)