FEC-1764 #comment support source type switch in rate selector

* Effort was to support initial use of flash interface and enable the
rateSelector plugin which results in an “interface swap” as the player
switches to native playback for playback rate control.
* In playBackRateSelector itself: added support for interface swap at
setSpeed time, event propagation is disabled during switch.TODO we may
want to move some of this logic into shared methods, but the native
selection player criteria did not (yet) cleanly integrate with existing
EmbedPlyer swap logic methods
* Added test file with test and description of issue
PlaybackRateFlashSwitch.qunit.html   

* Akamai media anlytics appears to re-bind playerLoaded so any player
interface switch would result in double binding, work around added to
check interface type for KDP call, but in the future all events bindings
should be namespaces with the base this.bind method ( from inheriting
base plugin class ) and cleared on PlayerLoaded event.  
* EmbedPlayerNative: css('visibility', '') was added to Native embed
display, appears kPlayer was hiding video element while not restoring in
embed flows. 
* MediaElement; refactored native source selection had extra conditional
for native lib check relative to native sources already identified right
above it. 
* MediaElement: added selection of native playback support. Note a more
complete refactor of the autoSelect method would make it easier to
support more robust native player selection logic, but as presently
implemented will at least not result in broken behavior, but may have
issues in edge cases such as HD DRM and SD progressive. 
* MediaElement: added “getNativePlayableSources” method used in
autoSelect logic. As mentioned above autoSelect is pretty long scary
method we should break up more of the filtering / selection logic into
methods. 
* MediaPlayers: Renamed “defaultPlayer” to “getDefaultPlayer”, its a
getter and should be named as such. Per normalize events ticket ( !!!!!
) we should keep track of all these deprecated methods and events and
when we go to version 3.0 remove extra code ( also remove
kWidget.deprecatedGlobals )
* MediaPlayers: mimePlayers is always an array no need to check length,
removing extra conditional nesting is almost always a win.
* MediaPlayers: added getNativePlayer method to get native players for a
particular mimeType
Merge branch 'master' of local repository into FEC-1764-playbackRate-flash-switch
Merge branch 'master' of local repository into
FEC-1764-playbackRate-flash-switch

Conflicts:
	modules/KalturaSupport/resources/mw.KAdPlayer.js
Merge branch 'master' into FEC-1764-playbackRate-flash-switch
Merge branch 'master' of local repository into FEC-1764-playbackRate-flash-switch
Merge branch 'master' of local repository into FEC-1764-playbackRate-flash-switch
* Don't have KPlayer replace sources via manifest response
* Introduce shared getSources method to allow player interfaces to
supply sources per adaptive streaming or manifest defined source list. 
* added source selector to playback rate to highlight that edge case. 
* added options parameters to autoSelect sources, for source override
and selection logic ( i.e force native ). The forceNative flag awaits a
more substantive refactor of autoSelectSource
#FEC-2054 #time 1h #comment add skipBtn, skipNotice and noticeMessage as seperate plugins to Studio
PS-1954 #time 1h #comment since we set a fixed height in IOS8 to center the loading spinner - we need to reset the iframe height to 100%
bump 2.21.6
Merge branch 'master' into 2.24-Dec-28

Conflicts:
	includes/DefaultSettings.php
Merge branch '2.24-Dec-28' into FEC-1764-playbackRate-flash-switch

Conflicts:
	modules/EmbedPlayer/resources/mw.EmbedPlayer.js
	modules/EmbedPlayer/resources/mw.EmbedPlayerKplayer.js
	modules/EmbedPlayer/resources/mw.EmbedPlayerNative.js
	modules/EmbedPlayer/resources/mw.MediaElement.js
Hide button if no streams found
Reinit cuepoints on mediachange

Change media causes kCuePoints to be destroyed - so must be initialised
again
Add strat/finish events for stream change
Helper function for cuepoint sub type
Add actions on media/stream change
Handle cue points by subtype

Dual screen - show slides, do not show chapters.
Chapters - show both slides and chapters.
Both plugins do not store the cue points data now, but always refer to
current cue point as it arrives from the cue points manager.
Add sync flag for slides
Freeze slides/chapter time on stream change