Shell: Basic curses -> Qt key mapping, command line editing

There is an opportunity here to share code between the text-mode
command line widget and its GUI counterpart, maybe a common base class
would be in order.
Shell: Multi-line text editing in the command line widget

The command line widget resizes itself dynamically to fit all the
needed lines of text.