StringUtils::Trim: add overload with trim chars parameter
CharsetConverter::ToUtf8: add ability to fail on bad character
Merge pull request #3772 from nigeljonez/nfsfix-14727

[nfs] Fix syncing issue from Trac #14727
LinuxRendererGL: make sure we have a shader defined
HttpHeader: fix: parse header properly according to RFC 2616
* use 'tab' as whitespace as well as 'space'
* process header lines divided to several lines with whitespace
HttpHeader::GetMimeType: fix: trim whitespace chars according to RFC2616
HttpHeader::GetCharset: fix: properly find charset according to RFC 2616
* detect more than one whitespace
* use 'tab' as whitespace
* allow charset to be quoted
Change the string comparison in CGUITextLayout::UpdateW to be case-sensitive

It seems likely that it was only case-insensitive due to the the default
seting of CStdStr::Equals. It's unlikely that you'd ever want to update a
string with another which is the same except for the case of one or more
characters, but if you did, I doubt you'd want to use the cached version if
so. And you're slowing down the comparison in all other cases to achieve that
dubious behaviour.
Add caching of text labels at the UTF8 level

Previously, CGUITextLayout::Update converted its string argument from UTF8 to
UTF16, then passed it to CGUITextLayout::UpdateW, where it was compared
against a cached copy of the string (in its UTF16 form). However, the
conversion itself was taking up a reasonable chunk of CPU time.

This patch adds a similar cache of the string in its UTF8 form to the Update
method, and splits the non-cache part of UpdateW into a separate function, so
we can bypass it the case where we've tested it against the UTF8 cache.

I have measured the effect while the Videos window of the default skin was
open (but idle) on a Raspberry Pi, and this reduced the CPU usage by 2.9%
from 39.1% to 36.2%:

          Before          After
          Mean   StdDev   Mean   StdDev  Confidence  Change
IdleCPU%  39.1   0.9      36.2   0.5     100.0%      +8.1%
Merge pull request #3785 from ronie/confluence-rightbuttons

[Confluence] move buttons to the right side, improve navigation
Add auto-scrolling for containers
Merge pull request #3709 from bavison/cache_utf8_text

Add caching of text labels at the UTF8 level
Merge pull request #3562 from Karlson2k/vfs_update_small_02

[vfs] CFile: remove 'virtual' from destructor
Merge pull request #3615 from FernetMenta/vdpau

vdpau: move cropping of top and bottom lines to renderer
Merge pull request #3574 from afedchin/3d_subs_depth

[3D] add 3D subtitle depth setting
Merge pull request #3650 from Karlson2k/fix_pcre_utf8

Fix PCRE UTF-8 error (mostly for scrapers)
Merge pull request #3695 from Karlson2k/http_header_rfc2616

Fix: process HTTP header according to RFC 2616
[LINUX] Fix display of labelless mount points.

UDisks storage provider shouldn't assume volumes are in the GB range.
Merge pull request #3793 from FernetMenta/shader

LinuxRendererGL: make sure we have a shader defined
IPlayer: let player know on close if it will be reopened