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.
These should probably just be added to the player now, especially if they're just going to live in their own file otherwise.