unified conf file / cli args

Config by priority: default > conf file > cli arg

It supports long form and short form but quite limited:

- Key-val style only, no on/off switch style e.g. `mcross --dark`
- Isn't POSIX-compliant i.e. `-d1` doesn't work

The Click library might help but I'm not sure if strict POSIX compliance
is really worth complicating the dep tree...
fix empty body/charset case; use regex
parse and correctly use mimetype+charset from meta
correctly render text/* mime type
fix relative link redirects, bump 0.5.14

dark mode with --dark cli arg
bump 0.5.13, add mailing list instructions
Parse absolute url links with scheme omitted

This enables McRoss to parse links that start with "//", which is just
"gemini://" but with "gemini:" omitted but implied, in accordance with
the Gemini spec, section 1.2.

Additionally, this patch takes McRoss all the way to #0008 of the
conman.org torture test, instead of #0002.
move CLI parsing out of controller, bump 0.5.12
Add CLI arguments to pick custom fonts

Users can now pick custom fonts via args `--textfont` and `--monofont`.
This is a WIP patch. Todos:
- Add more font candidates to the "default" font lists
- Add help text for arguments
- Perhaps a config file
show request time status, add request timeout
implement alt-shortcuts for buttons
fix bug when visiting relative url from root

enforce max header length too
correctly read response header

wrap words instead of char
bump version 0.5.8
don't check tls cert for now

Turns out there are more self-signed sites than otherwise. Apparently
the generally accepted way for gemini is trust-on-first-use. Before I
can implement that properly I'll just turn off cert validation