Enabling Custom PlayerControl overlays

I extracted some functions from `GMFPlayerOverlayViewController` into a Protocol and changed all Variables to use `UIViewController<GMFPLayerOverlayViewControllerProtocol>`  instead of `GMFPlayerOverlayViewController`.
Also all usages of `GMFPlayerOverlayView` are now referencing Objects of Type `UIView<GMFPlayerControlsProtocol>` 
This Allows users to use custom Overlay controllers and views.

If no custom overlay controller is set before loading the standard is used.