Guardian source type

I refactored this a little bit. Check it out and let me know what you think. The merge makes this hard to read but the last commit is the only relevant one.
https://github.com/heff/video.js/commit/97c7e4c7591b2c61b2e7c34b2a702668a5580150

If you accept this it will add it to your PR and then I'll pull that into master.