Add CLI support
This MR adds a CLI panel to the GUI, and more importantly allows launching GIS Hub with --headless for full terminal I/O.
Currently supports (dis)connecting, listing enabled and available modules, as well as enabling, disabling, and reloading modules:
connectdisconnect-
module list [all|available|enabled](defaults toall) module enable|disable|reload module1 module2...
Module names are the ones defined by each module upon initialization. Module names containing spaces must either be wrapped in double quotes or have the spaces escaped: "My module" and My\ module are equivalent.
Modules can also register and execute custom commands, in the form module command MyModule my_command cmd_args. The special command module command list MyModule can list all available commands for a module.
Closes #9 (closed).
Edited by Cyril Bissey