Browserify and minor changes.

This modifies your project to use browserify and be published to NPM. It also
includes some minor improvements and test fixes.

I'd understand if you declined this PR, but I'd hope you considered supporting a
CommonJS module published to NPM. I had to included the `dist` folder since I
couldn't something like npm's `prepublish` script functionality in bower, but
I'll be happy to remove it if you think that's a better approach.

:)

This doesn't work if the user didn't do `npm install -g karma`, since karma never gets added to `node_modules/.bin`. The alternative is to do `node_modules/karma/bin/karma start`..  (karma needs a pr to set the bin prop in package.json..)