Add shortcut to change the shortcut of the current Buffer

Also move the BufferShortcutPopup to its own file so it can be
instantiated from mainwin.cpp. Change the behaviour of the popup so that
you can start typing a shortcut immediately after clicking the menu item
or typing the shortcut.