VideoResourceViewer improved, VideoControls now MediaControls

VideoControls has been renamed to MediaControls for brevity; its purpose is now generalized for any task requiring a media control bar.

VideoResourceViewer now properly implements `load()`; it no longer triggers a `'DataLoaded'` event. Instead, it will now load the video metadata only after `load()` is called, followed by the video itself.

MediaControls now displays the time elapsed and duration of the media. Simply use `update()` with the `duration` parameter set to change the duration displayed, and `currentTime` parameter to update the current elapsed time displayed.

VideoResourceViewer also implements the time display.