pub fn integrate(body: &mut RigidBody, gravity_x: f32, gravity_y: f32, dt: f32)
Semi-implicit Euler integration. Applies gravity, updates velocity from forces, updates position from velocity.