Changed a lot of things:
No more single class to tie all the stuff together.
Model is completely independant of everything except Lua.
Model handles the console-ish stuff, completions, history, etc.
View and Input are API specific and handle input and rendering.
Input holds model pointer and calls its' public functions to move
cursor, input text, etc.
View doesn't need model pointer because it pulls all data needd in single call.