Abstracted mouse and keyboard events into a class, some changes to Sprite/entity system