Clean up browserify

This bumps us to a newer version of grunt and browserify, which should open us up to some of the asynchronous stuff. Unfortunately that means that shimming is a lot trickier because browserify dropped the built in shimming support and grunt-browserify didn't play super nice with [browserify-shim](https://github.com/thlorenz/browserify-shim). This technique is adapted from [this blog post](http://aeflash.com/2014-05/grunt-browserify-2-x-update.html) and seems to work really well. 

The `/config` folder may also be useful down the road.

Sorry @Scotchester, no haiku.