New API for PlayerManager & PlayerContextManager

- PlayerManager is now responsible for managing players at a basic level, the concept of primary and secondary player is not introduced at this API yet
- PlayerContextManager is now responsible for managing the primary and secondary player, player contexts and coodinating the player contexts
Moved IOpenPlayerStrategy to the correct namespace MediaPortal.UI.Presentation.Players
Removed PlayerId property from IPlayer and implementations, added docs to IPlayer
Added/improved docs in IReusablePlayer and IImagePlayer, removed property SlideShowEnabled from interface IImagePlayer
Some more improvements of docs
More docs improvements
SoundPlayerAction now checks all running players, not only the players of the player context manager
Fixed sending of PlayerStopped message when a player was stopped manually
Clear missing events in BaseDXPlayer.ResetPlayerEvents()
Added IVideoPlayerSynchronizationStrategy interface, use that functionality for screen control
Added auto repeat support to video player
Added VideoBackgroundModel to BackGroundManager plugin, new BackgroundVideoBrush
Using BackgroundVideoBrush in Reflexion default background
Start/Stop playback on Show/Hide
Implemented settings object, setup model, dialog and language
Added messaging to refresh settings
Support all video extensions that the VideoMDE knows
Added missing localization, minor cleanups
Modified VideoBrush after PM rework
Changed VideoBackgroundModel to use reworked player handling, create own local PlayerSlotController
Fixed NRE on shutdown, made some methods virtual