feat(ocaml-globe): Scene owns satellite lifecycle + picking
Scene now manages satellites internally:
- set_satellites: uploads ghost orbits (once per satellite set)
- update_time: rebuilds trails, dots, coverage footprints each frame
- satellite_dots/positions: auto-generated from current time
- pick: raycast click → `Satellite idx | `Earth pos | `Miss
Removed orbit_dots from layers record — dots are auto-generated.
Demo render loop reduced to 3 calls:
Scene.set_satellites scene sats;
Scene.update_time scene current_unix;
Scene.draw scene frame layers;
Demo: 210 → 140 lines, no manual ghost/trail/coverage management.
40 tests passing.