[rbp/omxplayer] Fix audio sync with visualisation

As GPU can buffer a few seconds of audio, and the visualisation is updated immediately, they are badly out of sync.
The solution is to push the visualisation data through a queue, and retrieve it from queue when the media time is reached.
[rbp/omxplayer] Avoid flushing fifos when audio/video fifos out of sync

This was intended to be a never happens event that could reset the state when something bad happens.
However it does trigger in some reasonable cases (like audio codec change) and makes things worse.
[rbp/omxplayer] Support frame advance with right arrow when paused

It seems this is desired behaviour for xbmc, and works okay on Pi, so enable it.
[rbp/omxplayer] Apply deinterlace changes immediately

Currently on Pi the deinterlace state is only sampled when opening the player.
This means to change deinterlace settings, you need to change in the video OSD then manually quit and restart the video.
This commit detects a change in current deinterlace settings and closes and opens the video player which applies the setting.

For seekable streams, seeking to "now" makes the video restart quicker.
Without the seek, the video does reappear, but takes a number of seconds
Merge pull request #3070 from popcornmix/immediate_deinterlace

[rbp/omxplayer] Apply deinterlace changes immediately
Merge pull request #3069 from popcornmix/frame_advance

[rbp/omxplayer] Support frame advance with right arrow when paused
Merge pull request #3068 from popcornmix/avoid_flush_sync

[rbp/omxplayer] Avoid flushing fifos when audio/video fifos out of sync
Merge pull request #3049 from popcornmix/visualisation_sync

[rbp/omxplayer] Fix audio sync with visualisation
Adding JSON-RPC support for Profiles operations to XBMC.
Adding Profiles support to the XBMC default web interface.
Merge pull request #2049 from DoraXBMC/master

Adding profiles support to the JSON-RPC and to the default web server.
CGUIWindowSettingsCategory: fix handling/reverting of invalid input
droid: remove old android audio depends
jsonrpc: fix stray " in methods.json
[Settings] Add m_subtitleExtensions.
[Util] Generalize external subtitle retrieval method(s).

Add void CUtil::GetPathsToLookForAssociatedItems()
Add void CUtil::ScanPathsForAssociatedItems(...)
Add int CUtil::ScanArchiveForAssociatedItems()
[Util] Make use of generalized ScanForExternalSubtitles(...) methods.
ScanForExternalSubtitles(...) now uses GetPathsToLookForAssociatedItems() and ScanPathsForAssociatedItems(...).
Remove obsolete method ScanArchiveForSubtitles() and sub_exts[].
[Util] Add method to scan for external audio files.
[DVDPlayer] Open input streams for internal and ext. audio files and store them.
[DVDPlayer] Add open external demuxers and read from them.
Update the SelectionStream.
Adapt all relevant places where m_pDemuxer is used; in particular ReadPacket(...) and add ReadExternalAudioPacket(...)