Add MediaPLayerInterface skeleton
Added setSource and play to MediaPLayerInterface
Added playFrom, stop and pause methods to the MediaPlayerInterface
Fixed tabs in the mediaPLayerInterface
Updated comments for MediaPlayerInterface functions
Removed duplication in tests
Added State enum to MediaPlayerInterface
Add rest of MediaPlayerInterface api functions

Also refactor state enum.
Add enum for MediaPlayer event names
Add enum for media type to MediaPlayer
Refactored MediaPlayer creation to support singleton usage.
Add and remove event listeners, to provide flexibility over how events are handled by applications
Added callback manager class to assist with new media API callback handling.
Added test to ensure data collected from accessors.
Moving new media API into seperate device modifier section to provide a clear distinction between them
Adding HTML5 MediaPlayer implementation.
Made HTML5 player a singleton
Improve documentation around device.getMediaPlayer function
Rename MediaPlayerInterface to MediaPlayer
MediaPlayer HTML5 EMPTY state implementation

Includes state transitions to other states.