Performance improvements to MediaControls; private functions are now singleton
Performance improvements to VideoResourceViewer

- private functions are now singleton in nature (will not be re-declared for every instance)
retrieveSource() renamed to retrieveVideo() for brevity
Video metadata only loads when load() is called.

Side effect: DataLoaded event is no longer triggered.
MediaControls inner panels renamed in code
Fixed the media control panel being taller than 30px
MediaControls now supports duration display.

update() now support two more values:
- duration: The new duration to display, in seconds
- currentTime: The current time of the media, in seconds
MediaControls duration display styling fixed
VideoResourceViewer now correctly reports time and duration to MediaControls