Score handler to manage player scores
Refactor movement handler.

1. Computes other shapes to check for collision with
2. Handles multiple other shape collisions
Refactor rotation handler.

1. Computes other shapes to check for collision with
2. Handles multiple other shape collisions
Refactor keyboard to remove hard coded player handling
Refactor Engine::Main class to improve readability