Joystick: make state variables shared between JoystickInput and JoystickWidget (on different threads) volatile so changes in the UI are actually picked up by JoystickInput