Add some protection when opening CGameController, don't open from constructor, add static initializer for controller which can return null if something went wrong, also, don't use a fixed-size array for controllers, so we're not hard-capped at 4
Static initializer in CGameController instead of CInputSystem
If SetLEDColor failed somehow, managed LEDColor would be out of sync - but this is gonna get redone soon anyway..
WIP rewrite, no CGameController, pass SDL handle to managed and fetch data through it, just need to restore rumble/sensors/LED
Implement controller closing
Restore LED/Rumble/Sensors
Way more sane controller closure
Set default LED colors
More useful logs
Initialize use of gyro/accelerometer sensors in native