[linux] Upgrade SDL1.2 to SDL2 for hotpluggable joysticks

This is a set of patches that cleans up some of the CJoystick mess and makes it use SDL2 which brings hotplug support without udev hacks.

This PR continues @topfs2' work (in https://github.com/topfs2/xbmc/tree/sdl2) of moving to SDL2 for linux joystick handling. It is also a followup of https://github.com/xbmc/xbmc/pull/5357 which cleans up some of the joystick mess which made the transition to SDL2 less painful.
we intend to upgrade to c++11, it supports tuple too, so this can be migrated. nevertheless those complex types should not be exposed in headers.