Add initial ncurses IO

No input support for now, but it will come in a few commits.