CSimpleDoubleCache fix.
ApplicationPlayer: Sanitize ClosePlayer() and SetPlaySpeed()
[rbp/omxplayer] Support both analogue and hdmi audio

Thanks to stupid-boy for the original implementation.
Merge pull request #3176 from popcornmix/dual_audio

[rbp/omxplayer] Support both analogue and hdmi audio
[rbp/omxplayer] Add Dynamic Range Compression scheme

This adds a DRC scheme. A number of dBs of amplification can be chosen.
The audio_decode component is setup to do the usual downmix operation early
before most of the audio buffering. This means we get a second or two to
detect if the downmix would overflow. This allows the amplification to be
attenuated in time to avoid the clipping.
The attenuation gradually decays when overflow condition stops.

Also adds a gui setting to boost centre channel.

Requires updated firmware
Merge pull request #3200 from herrnst/appplayer-lock

ApplicationPlayer: Sanitize ClosePlayer() and SetPlaySpeed()
Merge pull request #3171 from stupid-boy/CSimpleDoubleCache

[FIX] CSimpleDoubleCache: do not change type of underlying cache
ApplicationPlayer: do Reset() directly on the member instead of the sharedptr
Merge pull request #3185 from popcornmix/amplification

[rbp/omxplayer] Add Dynamic Range Compresssion scheme
Merge pull request #3206 from herrnst/appplayer-fixreset

ApplicationPlayer: do Reset() directly on the member instead of the sharedptr
Merge pull request #3201 from FernetMenta/aefixes

ActiveAE: fixes
linuxrenderer: do not render if upload texture fails
vdpau: redesign
vdpau: make interop gl default and remove setting, rename and intvert interop yuv
vdpau: observe ffmpeg tags for color space
vdpau: switch off de-interlacing on ff
linuxrenderer: drop method RenderMultiPass
linuxrenderer: implement progressive weave for vdpau
vdpau: set deinterlacing method to auto, if default method not supported
vdpau: calculate timestamp of second field when doing deinterlacing