Adds a `lift` op (SmSurface::LiftCurve) to the surface.surface_p11
runner, shim and FFI guard. The surface and the 2D UV curve are inline
or upstream files; the output is the status, max distance, curve type
and the full lifted NURB. The fixture replicates the LiftCurve calls of
upstream prog_test my_test_drop_curve on Drop/PS_LiftCrv_Crv1..4 /
Srf1..4 and PS_lift_crv1 / srf1 with the test's tolerances (5 cases, all
bit-exact), plus 200 generated lift cases on their own seed stream (the
existing generated cases are unchanged).
PS_lift_crv2 on PS_lift_srf2 (the kinked UV trim curve) is left out: the
two sides disagree on its control net (see plan/findings.md).
PARTIAL surface.surface_p11 cases=805 passed=722 failed=0 deferred=83
--perturb: SENSITIVE; --fuzz 2000 (lift): FUZZ-PASS, 0 crashes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>