Fixed duration bug, and standardized event handlers

Fixed: Calling MediaControls.update() would only update the duration of the last MediaControls.