Text tracks api

Kind of. It just so happens that DOM objects are event emitters. Having the `addEventListener` aliases is for convenience.
We can now do things like:
```js
player.textTrack().addEventListener('change', onchange);
```
without needing to special case whether it's native captions or not.

It totally makes sense what you mentioned in the other comment about it possibly causing problems with addEventListener shims.