VideoResourceViewer loaded event moved to the global constant variable
Event documentation for MediaControls moved to common.js
Event documentation added for VideoResourceViewer `loaded` event
VideoResourceViewer potential bug removed

`update()` no longer attempts to update the time display panel if a duration has yet to be provided.
Updated inline documentation for the `generateDurationText()` method
Added initialization tests for MediaControls
Corrected indentation typo in VideoResourceViewer.
Refactor panZoomWidget and its testcases.
Bug fix doe imageResourceViewer.js.
MediaControls `update()` method is now more fail-safe

- Duration display only updates if both currentTime and duration are set.
- All numerical parameters now round themselves to a certain range.
Added unit tests for user interaction with the MediaControls
Added MediaControls unit test for updating the displayed time and duration
MediaControls slider event handlers no longer disobey the function param types
Muted and unmuted events are now only triggered after the logic is complete
Attempted to make logic less confusing to read
Button unit tests for MediaControls now check if the proper classes are added
Added MediaControls unit tests for updating volume, position and playback state
VideoResourceViewer `loaded` event is now only fired when the video is ready
Added logic to clean up any possible leaks caused by the video element
MediaControls updating of buffers now has type safety and can clear all buffers
Added unit test for updating the buffers display