Make the language setting work with touch.

Part of this commit reverts the whole of commit c15a0a6472a0f6a64c3f1734a61ce3a7c45590e1.
Remove some button press/release recognition latency in the menu.
Restore the functionality of selection options with handler functions. This unbreaks commit 18d2358e996f3ace80dd4a01ebbdb846313b0bb4.