Add a button binding type
Allow settings not in any group
Allow connecting signals to lamda functions
Expose the shell bindings with the settings interface