Stage E1 complete: the kernel is a library again

The last E1 bullet. 243 lines of CLI lived at the bottom of engine/genre-kernel.js behind `isNode && require.main===module`, so every browser downloaded and parsed fs, child_process, ffmpeg shelling and WAV muxing that it could never run.

• engine/genre-kernel.js 193 KB -> 180 KB, 2,798 -> 2,554 lines tools/kernel-cli.js 260 lines

• The kernel now contains zero require("fs"), zero require("child_process") and zero execFileSync -- checked, not assumed.

• The extraction was mechanical but not blind: the block was brace-matched rather than sliced at a guessed line (the first attempt was off by one and its assertion caught it before anything was written), and its…

• Every documented invocation was repointed, since `node engine/genre-kernel.js track ...` now silently does nothing: CLAUDE.md, README.md, docs/SETUP.md, docs/GENRE-SPACE.md, three fetch recipes…

Verified: verify.sh 12/12, matrix --no-cache 274/274 diagonal dominant, kerneldata byte-identical, boot-smoke 16/16, full-boot healthy in a real browser, and `kernel-cli.js anchors` + `track jungle…

▶ Play it: Barometric Stampede — parked on the genre this change names https://stellate.app/?genre=jungle&seed=7254&path=1718.20504,1737.20537,1699.20537&xdur=13.122

e62dada https://github.com/aboard-io/stellate/commit/e62dada64b32fd48f2dfcd9e4ab2821ec7cfd79b