fn rotation_2d(_: Vec2<f32>, axis: Vec3<f32>) -> Quaternion<f32>
Produce a quaternion from an axis to rotate about and a 2D point on the unit circle to rotate to
NOTE: the provided axis and 2D vector must be normalized