Repair existing tests

* fix problems with tear down.

* clean up and consolidate the spec runners.

* append rather than prepend the elements under test so that the
progress of the test is visible.
Add YouTube player tests

* tests basic state changes for the four player configurations possible
between the Flash and YouTube plugins.

* I tried my best to avoid manual waits, but there are a couple tests
where doing so is impossible (e.g., "gets multiple 'timeupdate's while
playing").

* while not perfect nor complete, this should make keeping the multiple
YouTube players in parity during development easier.
Add 'sourceType' property to media elements

* this helps clients discern the MIME type of the current media source.
In our case, we use this to work around the load() behavior for
YouTube videos. Ideally we wouldn't need this workaround, but I could
see the property being useful for other scenarios.
Fix: allow playing if in 'ended' state

* YouTube videos stay in the 'ended' state at the end of video playback.
This fix allows ended videos to be replayed.