Massive rewrite. Merged the form thread and Gamepad manager thread. Now menu switching should work seamlessly.