Mouse-less controls for in-game menus

(See discussion in #7)

This contains the remaining features to get Flare completely playable without a mouse. There are probably a few spots where we could improve the feel of things, but that can come later. Where the size of these changes is already quite big, I figure it's a good time to start reviewing them for merging.

Controls:
LEFT/RIGHT/UP/DOWN: move cursor in major menus
ACCEPT: pick up or drop item in major menu. If the item is dropped on the same slot right after being picked up, it is either activated or sent to the opposite menu (stash or vendor).
CANCEL: Cancel dragging or unselect all menus
ACTIONBAR: pick up or drop and actionbar item. Also used to trigger the menu icons in the actionbar
ACTIONBAR_BACK/ACTIONBAR_FORWARD: move inside the actionbar
ACTIONBAR_USE: activate the currently highlighted power in the actionbar

Also in this PR is the ability to remap joystick buttons via keybindings.txt. While there's no GUI elements in the config menu yet, this should remove the need to edit source code just to change joystick layouts. To generate a new keybindings.txt, either delete your old one or reset to default settings via the config menu.