Captions

This is the new all encompassing captions PR.
It's still have some issues, like `cuechange` firing unconditionally and some issues with the captions displaying but there won't be much architectural changes to this.

I'd like at some point to take all the TextTrack stuff out of videojs and include it as a dependency similar to vttjs.
Do these settings only apply to captions? We should sync up the file name with the class name, one way or the other.