Bug 1023179 - Unload video properly, refactor Tutorial init sequence. r=fcampo

* Fix sporadic unencoding error by unloading video before loading new src.
* Refactor Tutorial init to eliminate race-conditions and better manage mixed sequence of asnyc and sync steps
* Use mock XHR for all tutorial tests
* Catch emptied/abort event when unloading video before assigning new src
* Use canplay event to signal video media loadedSignal media loaded
Merge pull request #20501 from sfoster/bug-1023179-tutorial-tests

Bug 1023179  - Fix FTU video unloading/loading, refactor tutorial initialization. r=fcampo