Some structural improvements

- Added IConsoleViewto separate the normal view and the specialized
console view
- The controller now manages the game.  It controls the view and the
model thread.
- Altered blocktype
- Added shutdownhook to add some behavior before the jvm shuts down. Can
be used to clean up resources like AnsiConsole, JNativeHook or network
- improved output drastically