Implement raw mode.  Also, scope guards.
Explicit fds and top-level termios rollback.
Minimal effort to make this compile under Rust 0.5.
The beginning of curses-free input parsing.

Basically does what curses does: puts all the termcaps into a trie and
consults it when the program asks for a key.

This is total crap but it's starting to work!