Add -e flag to place a stylesheet externally rather than loading it inline

By default, kineto loads a stylesheet given to -s from disk and places
it inline with the HTML in a <style>...</style> block.  This patch adds
a -e flag to load a stylesheet externally.  When the -e flag is passed
with a URI (relative or absolute), the given link is placed in the href
of a <link rel="stylesheet"...> tag.  This helps facilitate caching
which can *significantly* reduce request overhead, particularly when the
stylesheet is large (>= the size of the page content).

The given URI is not validated, and if it is invalid the browser will
404 when requesting it and the page will have no style.
Update go-gemini dependency
Implement input prompts on external domains
Use fmt.Fprintf instead of Write and Sprintf
Implement support for "lang" media type parameter
Display an error on charsets other than UTF-8

This prevents the proxy from sending invalid UTF-8 to the client.
Fix relative redirects

Setting next.Host before setting next.Path breaks relative redirects on
external sites, where next.Host != r.URL.Host.
Add support for custom CSS.
Update go-gemini dependency

Version 0.1.13 ensures that (*Response).Body is always non-nil, so that
calling Close() will not panic for unsuccessful responses.
Update go-gemini dependency

Version 0.1.12 fixes a bug where the client Timeout was not applied when
dialing, causing the client to hang when a host was down.
Use POST request to respond to input requests
Fix URLs with legit query strings in them
Implement input and redirect responses
Fix response status switch statement
Update go-gemini dependency
Add dark mode user preference with CSS media query
Reduce li margin to 0.5rem
Add spacing between li's
Fix style of proxy link at bottom of page
Add ⇒ before links