In order to avoid a dependency on the go.crypto terminal package, let's try to do our own TTY sniffing. I think in practice this will work surprisingly well, even if it feels incredibly sketchy.