add a function to show the menu so joysticks can bind it
make menus navigable using a joystick
refine menu navigation

I don't really know what was originally intended for the use of
CONTROL_ClearUserInput, but now at least it means "acknowledge/nullify
any current inputs and await new ones". Using direction and ack/nack
buttons means consistency between mouse, keyboard, and joystick in
moving around the menus.