macosx: fix crash when opening goto window (close #9488)
nsis: support upgrade and downgrade without having to uninstall first

In case of upgrade, most pages will be skipped in favor of a smoother and faster upgrade.
nsis: remember selected components between installs
nsis: generate the cache without showing the console
nsis: don't show the welcome and finish pages when the update switch is set

This allows updates without user intervention.
nsis: split files and clean up
nsis: simplify
nsis: improve wording
nsis: don't skip the components page until we were able to save user choices

This change will make the transition easier between the previously released
installer (that doesn't remember user choices) and this one. Without it the
old installer would fall back to the "Recommended" preset.