Fix infinite loop while viewing "EPG: Timeline" window

With invalid begin/end times, the for loop in GUIEPGContainer.cpp L#825 (https://github.com/xbmc/xbmc/blob/5f33d290e/xbmc/epg/GUIEPGGridContainer.cpp#L825) loops endlessly, freezing XBMC when the user views the "EPG: Timeline" window. Solve this by adding check for invalid end times.
dvdplayer: disallow hw accel of SD mpeg2's

They are many dvd rips with non profile conformant streams that just
give garbage when rune using the hw decoder.
Merge pull request #3395 from garbear/invalid-dates

Fix infinite loop while viewing "EPG: Timeline" window
Merge pull request #3417 from elupus/mpeg2sd

dvdplayer: disallow hw accel of SD mpeg2's
[confluence] fix white haze on texture in video OSD
CharsetConverter: add internal class CInnerConverter and move local static function to it
CharsetConverter: 'static' for all functions
CharsetConverter: define and implement class ConverterType
CharsetConverter: rewrote, use individual locks for each conversion type
CharsetConverter: use standard conversion for utf8ToSystem
CharsetConverter: add individual charset reset functions and reset charsets AFTER new settings are applied
CharsetConverter: do not skip last zero if original string have it at end
CharsetConverter: cleanup for iconv and refactoring for iconv_const
CharsetConverter: FriBiDi cleanup
CharsetConverter: Cleanup: remove 'using std'