feat(ocaml-kepler): add analytic Kepler solver (10-15x faster than RK4)
New module Kepler.Analytic:
- State vector → orbital elements conversion (Vallado Alg. 9)
- Kepler equation solver (Newton-Raphson, 3-5 iterations)
- position_at_dt: elements + time → position (~20 FLOPs)
- precompute/at_precomputed: compute elements once, propagate many times
- Falls back to RK4 for hyperbolic orbits (e >= 1)
Added to Vec3: sub, dot, cross (needed for element computation).
12 new tests: Kepler equation verification, RK4 cross-check (ISS,
Molniya), full period return, precomputed elements, circular radius.
26 total tests passing.
Performance: ~50 FLOPs/point vs ~720 for RK4. For 30 satellites ×
60 trail points at 60fps: ~0.3ms analytic vs ~5ms RK4 in js_of_ocaml.