WIP: Working browserify. Not backwards compatible.

DO NOT MERGE.

This is the work-in-progress for browserifying videojs. The `bundle.js` file is built using
```sh
browserify -d --standalone 'videojs' . -o bundle.js
```
from within the videojs directory. Can also just run `npm run build`.

This will create a `bundle.js` file which is a standalone (UMD) build of videojs. You can then load the bundle file directly in the browser together with the generated CSS and you have a working videojs player.
You can also consume videojs directly from another app/module that uses browserify by just `require('video.js')` and then when you run browserify it'll figure things out.

Unfortunately, this isn't backwards compatible right now. The various components aren't really exposed directly right now and if you add more components it won't find them on the videojs object since it excepts them on the `./components.js` module. Though, more modules could be added by requiring the components.js module (`require('video.js/components`)` and then adding the extra component to it.
Probably a better way is to create a function for registering components and techs.

I'm going to see whether I can make it backwards compatible. Also, this needs to be cleaned up because we don't need all the `var vjs = {}; /* ... */ module.exports = vjs` everywhere. That var is superfluous.
Looking at this again, there's a circular dependency here between component.js and components.js. It seems we've just moved the issue up the chain. Would it help if every component registered itself like `components.registerComponent('Component', Component)` instead exporting them in components.js? And at the same time if components and component were the same file?