FLUID-4824: Refactor captions menu and full-screen button to be optional

@jobara, this branch refactors the MenuButton subcomponent to have its own template, allowing the caption controls to be properly optional, only instantiated if captions are supported. Similar treatment is applied to the full-screen button.

The branch also begins to restructure the VideoPlayer events so that the individual controls each have their own 'onReady' event, and the controllers component has its own onReady (an aggregate of the subcomponent onReady events).

There is a bug in the framework preventing aggregate events from being injected into another component, so I had to implement a workaround for that. When the bug is fixed, we should be able to remove the workaround.