Moved input devices into seperate files and added joystick support.