Added Keyboard class, mostly stolen from ThatOtherPerson's practice platformer