Balls are now moving with strands.

Climb target and origin are updated in OGBall::Move(), then balls
are repositioned in OGClimb::onTargetChanged() if needed. It won't
move the ball if OGClimb::initNewTarget() was called before updating,
instead we can set a new origin and target, like in
OGBall::Algorithm2(). In this case, OGClimb::onOriginChanged() will
calculate the originCorrection, which is needed because usually when
we set the new origin, the origin ball and our ball won't be in the
same position. That would make our ball jump this distance, if we
wouldn't add the originCorrection to the origin in
OGClimb::onTargetChanged().