Better error handling

(This is currently a work in progress but it's getting far a long so I wanted to put it up for feedback)

Summary:
- Better logging functions
- Better player media error reporting
- Visually showing that the player is broken (instead of just a lame spinner)
- Added sinon for test stubs

![screen shot 2014-05-02 at 3 34 44 pm](https://cloud.githubusercontent.com/assets/166/2868640/0c9dcb3c-d24b-11e3-9e56-06787b9df7a3.png)

For logging we'd now have `vjs.log, vjs.log.warn, and vjs.log.error`, which all translate to the same console functions.

For the visual error, I'm just using an X now. I'd like for it to be a crossed out play button in future, similar to iOS. I don't currently think we should show any actual text in addition to the X, and instead leave that to the videojs-errors plugin that's in progress. Firefox does show a message on the player when an error happens, but other browsers just show a crossed out play button or disabled controls, or nothing at all.

Please let me know if there's any thoughts on this approach.