Cast, video player and now playing bar updates

* Integrated some updates made to the cast player original code from google - just a little DRYing up
* Moved position bar to top in now playing bar for easier scrubbing since it is now full width
* Beginning of VTT support - added file type so the VTT is recognized, and VTT files are added as tracks to web video player. There are still some enhancements needed here (like choosing which language if multiple VVT files) but it would be nice to get a little feedback on this as it stands. Casting should also use VTT but I have been having nothing but troubles with casting lately, so I sorta just stopped with the testing of VTT support.
* Added keyboard support for client video player

key | action
----|----
space | toggle play/pause
up/down arrow | volume up/down
left/right arrow | scrub time 10 seconds +/-
shift + left/right arrow | scrub time 60 seconds +/-
q | quality flyout
m | mute toggle
a | audio flyout
t | subtitle flyout
s | chapter flyout
f | fullscreen toggle

The way I coded the key handling this could be pulled out easily and used for global keyboard shortcuts. Aslo, the flyout shortcuts are more proof of concept as some of them use commands that likely don't align with what the comd actually is intended for, but I just wanted to show how we could control the flyouts. I was also going to make it so once a flyout was triggered with the keyboard that the user could then select with the up/down arrows, but I did not want to go too in depth just in case this wasn't something desired - then it would just be wasted time.