[pvr] EPG hookdata: Return UniqueBroadcastID

Returns epgUid known by client instead unset data.
[ios64] - fixed offsets into the eventmem for arm64 - fixes bt keyboard cursor keys when compiled for arm64
correct codec names, MPEG is always written in upper-case
[cosmetic] add missing "l" in some comments
CHG: [mediacodec] switch to a surface render black list + backup AS
FIX: [linux] fix & optimize input device checking
Improved file buffering in CArchive.

CArchive already did some file buffering, but only on writes. Added the
equivalent code for reads. Also improved the write buffer case so that it
only ever issues sector-aligned writes (the read code does this from the
start). Shuffled various bits of code into the header file to squeeze a bit
more performance out of it.
[videodb] move AnnounceUpdate|Remove to statics
[announces] add 'transaction' attribution to OnUpdate, OnRemove if scanning.
drop unneeded tracking of database updating, using the 'transaction' attribute of OnUpdate/OnRemove instead
[gui] fix <hinttext> not being shown once unfocused/refocused
Merge pull request #4346 from Jalle19/correct-codec-names

Use correct codec names, MPEG is always written in upper-case
[epg] fix: SetChannel() methods do not correctly select the given channel
Split out IArchivable from Archive.h
Extend videodatabase GetTvShowInfo api

Add an optional FileItem *, this allows the retrieval of all the
properties from a tvshow, as some are only set when a fileitem is
available.

This allows the JSON-RPC GetTVShowDetails to return watchedepisodes, and
fixes this bug:
http://forum.xbmc.org/showthread.php?tid=191142
VDPAU: fix cropping for interlaced frames
VDPAU: fix segfault if vdpau fails to open context
paplayer: fix accidently disabled seek by fc2b1b2c1ad0d235b91a33e430d39bd63de71f58
Merge pull request #4561 from cg110/json_tvshows_watchedepisodes

Extend videodatabase GetTvShowInfo api
Merge pull request #3773 from Rawk/split_carchive_and_iarchivable

Split CArchive and IArchivable to seperate headers