improve Vector3::normalize()