Rewrite startup logic in C++.

This allows us to easily work with the command-line arguments, and it's
actually readable. Furthermore, it doesn't interact with the -C option, which
in the former design would have broken most of the other options.
Reset registers after reading user configuration.
Remove note about -C breaking most startup functionality.

Since this functionality is now internal, it is no longer the case.
Remove reference to registers eventually being preserved.

I've never once found this feature to be actually useful in TGL, so I doubt it
would be worth implementing in TglNG. It would probably be counter-productive,
in fact.
Actually wire startup logic into main codepath.
Install default configuration.
Build and install docs by default.
Add example emacs integration.