Cleanup the current source when loading a new one

If src() is called when a src is already loaded, make sure to abort any outstanding work and reset the state of the SourceBuffer. Switching sources after initial load occasionally caused weird audio and video artifacts because the underlying decoder was working from the old state.

Fixing this issue I discovered a [related (but not fatal) issue](https://github.com/videojs/video-js-swf/pull/125) in videojs-swf. That patch isn't required to fix this issue but it does prevent error messages popping up if you're running the flash debugger.