Reorganising repo for functional separation.
Reorganising codebase to separate terminal UI.

Eventually the terminal UI will need to go into its own gem, but for now I've moved all of it's implementation into the lib/terminal folder.

Signed-off-by: Stewart M. Johnson <stewart@bolidian.com>