Rewriting the ncurses CLI for the UI class model

Broke up the old event loop into separate generic functions according
to the UI class.  Next, we have to teach the engine how to use the new
interface.
Added new module to ASDF file

We have a new file, ui.lisp, defining how user interfaces interact
with the engine.
Fleshed out the generic functions

Finished the defmethods for the base class.