Move shell to its own file
Clean up screen.c

* cprint() could be faster - right now it needlessly updates the cursor
  after each character - but make sure not to write off the screen