Add browserify support.

I think we've juggled around our UMD config enough times to know that if possible, it would be best if it just weren't a part of our source anymore.

Browserify offers the great `standalone` config option that [generates a UMD shim for you](http://www.forbeslindesay.co.uk/post/46324645400/standalone-browserify-builds). If we use it, we gain:

* Simplier src, which can be required directly from the node shim, without UMD
* A build compatible with AMD/ES6/Browser/Browserify
* Assurance that if the build passes, we have compatibility with browserify/node environments. We've had trouble with the UMD not working out before.

If we go this route, we unfortunately introduce a build step. I think it's worth it to clean up the hacks in our src and to allow us to offer minified versions, etc.

This PR does the following:

* Removes the UMD shim entirely in favor of CommonJS style
* Adds a browserify task to Grunt
* Uses the browserify standalone config to automatically generate a shim for all browser JS loaders
* Tests now use the built version of the source, which is simply automatically wrapped in a shim by Browserify
* `backbone.layoutmanager.js` was moved to `src/backbone.layoutmanager.js`, and the built version put in its place, so it can still be viewed raw and downloaded for browsers as expected.

Let's talk about:

* Should we just use the enhanced shim directly, or use grunt-umd rather than dragging browserify into this?
* If we do end up going with a build, should we do a `dist/` folder with an uglified version and link both from the README for browser users?