DVDSubtitleStream: better detect stream encoding and optimization
Use BOM detection for all supported charsets, not only UTF-8 and UTF-16LE
Do not double convert subtitle->wstring->UTF-8. Use direct conversion subtitle->UTF-8
additionally: CharsetConverter: subtitleCharsetToW -> subtitleCharsetToUtf8
[spectrum] cosmetic: Use static where appropriate
[rbp] Remove PiAudio engine
[rbp] Add PiAudio sink
[spectrum] Draw spectrum as a single object

glDrawElements is called 256 times per frame, once for each bar. It is more efficient to batch up larger blocks.
This change draws the specrum with a single glDrawElements call.

Looking at visualisation in full screen mode, it used to top out at 75 fps. With this PR it can hit 125 fps.
[epg] handle <onback> just like every other control
[pvr] no need to handle ACTION_NAV_BACK and ACTION_PREVIOUS_MENU in GUIWindowPVRCommon - they're handled in GUIMediaWindow already
[pvr] only handle ACTION_NAV_BACK in GUIWindowPVRRecordings if there's a parent directory to go to, else drop down to the base class as the action will be handled by the window system
fixed: Handle (non) URL encoding and forward backward slashes properly for path substitution
fixed: Copying of file(names) from non-URL to URL encoded filesystem
changed: Extend path substitude unit test
videodb: never use cached lookups during database cleaning
videodb: fix database cleaning for file-level sources
[WIN32] git clean directories as well but keep our downloaded depends
Merge pull request #3924 from popcornmix/single_spectrum

[spectrum] Draw spectrum as a single object
[rbp] Allow paplayer to be enabled on Pi
[rbp/omxplayer] Suspend AE when playing audio
[rbp/omxplayer] Remove visualisation support

This is now handled by paplayer
Revert "[rbp/omxplayer] Ignore video stream in audio filetypes"

This reverts commit ca5119d8bd73a632e6006e77cba7f59a37c3dbb2.
Merge pull request #3925 from popcornmix/piaudio_sink

[rbp] Add Pi audio sink for ActiveAE