use separate video elements for each subtest

so that other subtests are not affected when each modifies the video element.
use step_func and step_func_done to simplify some tests
expect sourceended after MediaSource.endOfStream() instead of sourceclose

http://www.w3.org/TR/media-source/#mediasource-events
http://www.w3.org/TR/media-source/#idl-def-ReadyState
wrap assert_throws() call in appropriate subtest step
wrap assert_unreached() calls in appropriate subtest step

Requested by Philip Jägenstedt <philipj@opera.com>
assert that readyState is "ended" before expecting "sourceended" event

Inspired by suggestion from Philip Jägenstedt <philipj@opera.com>.
use quotes that require less quoting

Requested by Philip Jägenstedt <philipj@opera.com>.
Merge pull request #1395 from karlt/SourceBuffer-abort-

remove race conditions from media-source/SourceBuffer-abort-*