linux: Check for Logind first, then *Kit-s with UPower when detecting PM framework

Logind is the most likely candidate to work nowadays and latest UPower does
not provide suspend/hibernate API.
[keymap] Recreate SDL2 compatible PS3 dualshock keymap, converted from the 360 one
[rbp] Enable optimization on Raspberry Pi
dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer
dvdplayer: allow rewinding at end of stream, do a seek after rewind
[rtmp] add canseek and drop unused rtmp options
[vfs] [win32] Win32File: really support "test" Read() and Write() with zero buffer size
[vfs] [win32] Win32File: better handle partially read/written buffer in Read()/Write()
[vfs] CFile: workaround in Read() and Write() for VFSes that do not support null buffer pointer
[emufnc] dll_read(): set errno if read() failed
[emufnc] dll_write(): set errno if write() failed
[emufnc] Fix: "-1" is incorrect return value for dll_fwrite() and dll_fread() (return type is size_t)
[emufnc] Fix: return zero for dll_fread()/dll_fwrite() if size or count is zero
[emufnc] Fix: always read all data in dll_fread()
[emufnc] Fix: always read all data in dll_fwrite()
[emufnc] Fix: return correct value in dll_fclose()
[emufnc] Fixes: correctly emulate on bigendian platforms, use cast to _unsigned_ char in dll_fputc()
[emufnc] Use proper macro instead of hardcoded value in dll_ungetc()
[emufnc] Fix: use correct return value on error in dll_filbuf, try to restore proper file pointer
[emufnc] Fix: use correct return value on error in dll_flsbuf, flush file buffers, properly write data