Refactor the media player framework so we can plugin other playback engines
Fix up the tests
Move this to the outer scope
Merge pull request #94 from flagbug/playback-engine-framework

Refactor the media player framework so we can plugin other playback engines