Ensure that the decoder is init once only.

This fixes the crash while playing MPEG2 files with sequence display extension.
always process Startup.xml if it exists
add startupwindow infolabel
[Confluence] activate the selected startup window instead of home
allow <width>auto</width> for label controls, and ensure dirty-regions works with them. Part of #13887
Handle keystrokes in the web interface remote (up, down, left, right, play/pause, ...)
tag animations as ready to go once processed once, not while rendered once. fixes #13912
DirectoryCache: access and save calls on DirectoryCache after substituting those calls as needed since it does not substitute them anymore
DirectoryCache: The cache keeps track of files and directories and should therefor not be the one to do any substituting.
Speed up ffmpeg format probing if we'll trust codec fps.
Handle letters and digits keystrokes in the web interface remote
Added hotplug support for Linux input devices.
LinuxRendererGL: trigger reset of scaling when entering/leaving fullscreen video
VideoRenderer: add gui setting for threshold when hq scaling is desired
[python] Notify python code about double clicks
Templatize some of the more repetitive initialize-check logic so that
we can just try and create every individual type, see if creation succeeded
and then return true if it did.
[Fix] Send out correct mouse motion event in generic touch action handler.
Longpress event does not need mouse motion for it.
[Fix] Generic touch now can unfocus gui control correctly.
[Cleanup] remove backslashs not needed.