OnGround tracking fixes

Makes OnGround tracking work better. I wouldn't be confident in saying it's 100% correct now though...
Fixes:
* Who knew that Vector3.Zero is not in fact greater than Vector3.One
* _position is actually the head position, we need to test the feet position - 1
* Sometimes the game world hasn't loaded when we need to access OnGround
* OnGround should update every time we send it to the server

Update