Move Hacky Player Code into Player Entity

Moved: Position, Input
Added: Render() Update() Initialise() methods
Position as a separate class (partial)

Position should have setters and getters
Position should be referenced from the player instead of local
variables.
meh
Position Class Optimisation

added increment function so don’t have to use get and set to change
values relative to current
refactoring and comment based cleanups from others