Major refactoring, mostly involving consolidating movement into Player but also note that Global.CurrentCamera should be used to access the currently drawing camera every frame.