Add first version of Player class.

This will help support multiplayer version
Convert tetris map from module into a class

This will help to test it better later
Make Squeeze a module of Tetris Map class
Remove extraneous log statement
Convert Rotation module to class

This will help to test the class later and rotate multiple player shapes
Make movement module into a class
Add UI::GameScreen class to separate UI from logic
Make Keyboard interaction a class

Separate business logic
Refactor GameStrategy into GameEngine
Separate UI stuff from game engine to UI Module
Fix minor keyboard shape rotation bug
Merge commit '9345fb1d5d885ed67f9d9c4a67ce3f528cda8c3e'