Automatically call cleanup() before managed object destruction
Properly handle ghost objects in the ODE backend, add a joypad button_while_down signal