Tests that the video controls are properly rendered when the display none is set and unset.


** The volume slider should have almost the same left offset as the mute button **
EXPECTED (volumeSliderElement.offsetLeft >= muteButtonElement.offsetLeft - threshold == 'true') OK
EXPECTED (volumeSliderElement.offsetLeft <= muteButtonElement.offsetLeft + threshold == 'true') OK

** The volume slider should be on top of the mute button **
EXPECTED (volumeSliderElement.offsetTop < muteButtonElement.offsetTop == 'true') OK

