Hitting '?' brings up a modal with default shortcuts, for quick
reference.
Also does a little refactoring in the code where default shortcuts are
declared.
Known issue: anyone that has run SH84 before will have shortcuts loaded
from config file and the new '?' command will be ignored. Addressing
this is beyond the scope of this change.
Known issue: custom shortcuts are not displayed in help, only the
default which may not correspond to the actual user configuration.
Simplify the main layout by creating sub-grids in each row of the
existing grid.
This allows each row to have independent column layout.
Within each grid the placement is straighforward and can be more easily
adjusted.
One visible change is that the main pane sizes are now relative, so they
adjust based on the terminal width and height (whereas before they were
fixed regardless of terminal size).
Directories created with `os.MkdirAll(_, os.ModeDir)` do not have r/w permissions, (i.e. `d---------`).
If SH84 creates (DB cache | config) dir, it is going to fail to launch due to the same being unreadable and unwriteable.
Git and other tools will also complain about the directories being unreadable.