Fixed Repeated Glitchy Jumping

It turns out that I was resetting my jump amount variable in my jump
method itself. Real clever, that. Problem now is my charactor behaviour
code is very inelegant, and it's still not behaving in exactly the way I
want it to behave.

I'll use the logic I've learnt for further iterations and improvements
of the player class, but it's going to need some significant commenting
and rewrites before the code is anything I'm proud of.