Call endOfStream after the last segment has been buffered.

When the last segment in a playlist is appended, call `SourceBuffer.endOfStream()`. Fixes #111. Avoid using 1.10.3 of sinon.js. Make sure hitting play when a video ends restarts playback.
From my reading of the spec, endOfStream() should be called once you append the last bytes of a video into the active source buffer, not once the source buffer has been exhausted. It would be great if we verified that, however. In this form, it achieves the goal of this PR: the spinner doesn't show up and hitting play restarts the video.