ready method exposed in minified version
test case for minified lib and not minified code
expose correct dispose method
testcase for correct dispose method
expose vjs.Component.dispose
minified lib files renamed to minified api
recompile sources before starting tests via npm test
Fix controls locking and unlocking functionality by:

1. Switch control bar default hiding styles
2. Fix typos
3. Remove duplicate function
minify both source and tests for test grunt task
run grunt test only for travis
Merge pull request #417 from RavWar/controls_css_rework

Lock controls when video is paused
Merge pull request #360 from mente/minified

correctly expose ready and dispose in minified version
Close GH-433: Update contribflow version and add contrib.json.
Close GH-437: Made IE updates from CorwinT. Closes #309. Closes #364..
Fixed a bug where play event was no longer being triggered.
Fixed another issue blocking the play event from triggering in Flash
Updated grunt and grunt-contrib versions to fix PhantomJS bug
Also changed some additional code to fix new jshint issues found by new jshint version.
Close GH-432: Additional exports for external techs.
Close GH-425: Backing out goog.inherits and adding back the previous inheritance API. fixes #415.
First pass at automated multi-browser/device testing. closes #419

I've got a way to run tests across every browser and device out there except for IE8, and IE8 should work except I'm running into a Browserstack bug that I've let them know about.

It uses a project called bunyip, which internallt uses Yeti (YUI), Pagekite, and Browserstack.

Next steps include:
  - Making it all automatic. Right now you have to wait for browsers to connect and then manually hit enter when they have.
  - Make it a grunt task
  - Document it all so others can use it

I think this is close enough for me to close the milestone 4.0 issue.
Merge pull request #444 from heff/feature/browser-tests

First pass at automated multi-browser/device testing. closes #419
Fixed an issue where Firefox would lose the type of an event.

Because it returns false for event.hasOwnProperty('type');