Adjust timing of caption position shifts to match when player controls are hidden/shown

This change adjusts caption position change so that changes occur at same time controls are shown and hidden. Previously captions would move before the player controls were actually hidden. The player now fires custom events "controlsshown" and "controlshidden" when being shown/hidden. The tracks plugin registers event handlers for these events for changing the position of captions.