I think I found the solution for issue #4

I was resetting self.vely in the motion method right before calling the jump method, so our player would freeze after a single iteration in the main loop and only jump 5 pixels.