app: remove support for legacy conf, tidy saving

Remove support for loading the old settings.conf file.

Tidy config saving.
tdw+others: remove some pre-GTK3 code (NFC)
app: move at-start callback to its own method

Make the constructor a little less messy.
kbm: cancel key capture on window destroy

Avoids a memory leak with dynamic subwindows.
linemode imports: tidy and defer

Prevents some more import circularity.
app imports: tidy and defer
brushselectionwindow: resize fixes

Remove another self-resize, replace with GTK3-style sizing.
toolbar: remove MainMenuButton
Merge commit '5ab822cac037c92e7b699d035d2fad1b37dc58e3'
Merge commit 'ce4c093fe47a6b61da0af4e236fa8bbe35203dba'
Merge commit '2dbeb544398b1cfe6f4de88a7b9faf68c51bb08b'
Merge commit 'aa5bab41d644b57f86c3523a2ef515c73d4f0435'
Merge commit '5d167be436f16a51fab915148904ee6936306623'
Merge commit '0e432d4a2a9071708b0a208a6b12480972dba7af'
Merge commit '3f41936a2addbde936308fb1e17c75d89d7bcd03'
Merge commit '7987bfa58f37bd824de8e22be2e249c9f56b5a9b'

Resolve second conflict

Conflicts:
	gui/toolbar.py