I think your problem is here:
velocity.add(0, world.getGravity());
You also need to scale the gravity when modifying the velocity. Try:
velocity.add(0, world.getGravity() * deltaTime);
On a seperate note, trying using box2D, which can handle these for you :)