[vfs] CFile: remove 'virtual' from destructor
no class is derived from CFile
[3d] added 3D subtitle depth
[pvr] fix view mode not being set properly after channel switch under certain
circumstances
[pvr] Fix missing recordings

This fixes an issue with missing recordings that occurs under following
circumstances:

- Recording A in subdirectory "TV Show XY"
- Recording B in subdirectory "TV show xy"

Because of the difference in case, recording B won't show up in any
sub folder. This can happen due to EPG inconsistencies.

The presented sub folders are created with case-insensitive matching
using CFileItemList::Contains in GetSubDirectories.
But when determining if a recording belongs into a directory, the
comparison is case-sensitive (in IsDirectoryMember).

This commit changes the IsDirecroryMember check to be case-insensitive.
[rbp/omxplayer] Avoid segfault when switching fullscreen

Switching fullscreen causes a brief UnregisterAudioCallback/RegsisterAudioCallback.
If this occurs while audio thread is inside VizPacket then we segfault on dereferencing m_pCallback.

Using the m_critSection lock means the higher level test for m_pCallback will protect us.
vdpau: move cropping of top and bottom lines to renderer
[pvr] support for past epg data in timeline view
[epg] fix: incorrect return value in GetSelectedItem()
Revert "[nfs] - better fix for fe97d68f87d6985b2bf57d8e942b36b5e7373066 - possibly fixes #14727 - thx jm for the idea :)"

This reverts commit dd4dd2e91bc083a23fe7b46ae4c291c6672d32e0.

This commit created issues comparing paths when the export and the path was the same and did not contain a trailing slash, in addition, it removed the correct reversal of ordering of m_exportList generated by GetExportList.

Reference: http://trac.xbmc.org/ticket/14727#comment:12
[pvr] fix: remove wrong condition in ActionPlayEpg()
[Confluence] move buttons to the right side, improve navigation
[pvr] improve implementation of OnClickList() method

* use switch case instead of if else
* use IsActive() to determine if playing the selected item
[pvr] remove unnecessary method PlayEpgItem() and use ActionPlayEpg()
instead
StringUtils: add "isasciidigit", "isasciixdigit", "asciidigitvalue", "asciixdigitvalue", "isasciiuppercaseletter", "isasciilowercaseletter" and "isasciialphanum" for locale-independent ASCII operations
RegExp: add automatic UTF-8 mode based on given regular expression
Usage of RegExp: change from forced UTF-8 mode to new automatic UTF-8 mode
XBMCTinyXML: use new RegExp constructor
ScraperParser: add new attribute "utf8" for scraper RegExp, works similar attribute "cs", possible values "yes", "no", "auto" ("auto" by default)
[nfs] Fix library syncing (trac #14727) for edge-cases resulting from less-common NFS export configurations partially resulting from recent CStdString conversion.

Squashed commit of the following:

commit 1cd13db9822a5a609c232a614e67c361ca260f2d
Author: Nigel Jones <nigel@nigelj.com>
Date:   Sun Dec 8 02:47:08 2013 +1300

    [nfs] Recommendation from PR 3772 by jmarshallnz for code cleanup implemented avoiding the substr routine.

    exportPath is only set if a valid export is found.

commit be9d0b0aa42b4710a5005824c1d04f1a69120cbc
Merge: a43d406 d32ff6e
Author: Nigel Jones <nigel@nigelj.com>
Date:   Sat Dec 7 03:09:32 2013 -0800

    Merge pull request #1 from Memphiz/nfsfix-14727

    [nfs] - handle special case when "/" is exported via nfs - we need to al...

commit d32ff6e89bde24909fbf7e97acf0bfa5a8ae5ac7
Author: Memphiz <memphis@machzwo.de>
Date:   Fri Dec 6 23:35:48 2013 +0100

    [nfs] - handle special case when "/" is exported via nfs - we need to allow empty pathes here when accessing nfs://ip/ (path is empty here - export is "/").

commit a43d40673887965041939181dab8dcd077049c92
Author: Nigel Jones <nigel@nigelj.com>
Date:   Sat Dec 7 00:27:49 2013 +1300

    [nfs] - Ensure that the right export is picked if multiple overlapping names may match with StartsWith.

commit 61fb6f567f0a229c1869bbb76524706914574ba9
Author: Nigel Jones <nigel@nigelj.com>
Date:   Fri Dec 6 23:44:03 2013 +1300

    [nfs] replacement fix for dd4dd2e91bc083a23fe7b46ae4c291c6672d32e0 (issue #14727).

    If the exportPath is the same as the path is then bypass the substr methods, and return the correct relativePath.
StringUtils::TrimLeft/TrimRight: pass trimming chars as constant character strings