### JPEG AI exact decoder: no platform math library on the path, and a cross-platform check

- The exact decoder (`jpegai_decode::decode`) called the platform math library's
  `exp` in the per-channel gain scaler, on every target. Its roundings to an integer
  compiled, on x86_64 and wasm32 (as rustc 1.98 compiles them), to calls to the
  symbols `round`, `roundf` and `rint`, which the link resolves; an x86_64 Linux
  test executable inspected took them from Rust's compiler builtins, not from the C
  library. The decoder now takes `exp` and rounding from the new `float_repro`
  module, which builds them from IEEE-754 basic operations, integer conversions and
  bit manipulation, so their bits are fixed by the source. `float_repro::exp` was
  within 1 ULP of the host math library on every host it was compared with
  (determinism-tiers §6 lists them). Its test asserts ≤ 2 ULPs. The test is ignored
  on targets whose C library was not measured, Windows among them. It selects by
  target, not by host, so it also runs on glibc versions and on x86_64 hardware that
  were not measured. The roundings equal the standard library's. The decoded output
  is unchanged (RGB8 SHA-256 `dbc494a5…` for the `jpegai/v1` inputs).
- The exact decoder now also refuses a target that evaluates float arithmetic in x87
  extended precision (32-bit x86 without SSE2), where it would not reproduce.
- New `jpegai_decode::decode_with_stages`: the same decode, also reporting the float
  values after each stage (latents, synthesis, each post-filter), so two platforms
  can be compared stage by stage rather than only by their final bytes.
- New `tests/jpegai_cross_platform.rs` pins SHA-256 hashes of the parsed float
  inputs, of every reported stage and of the RGB8 output for the `jpegai/v1` inputs.
  All nine matched on macOS arm64 (native), wasm32-wasip2 (a WASI runtime), Linux
  arm64 (glibc) and Linux x86_64 (glibc, under user-mode emulation), each running
  this change's final source, and on all four also before the math-library calls
  were replaced. determinism-tiers §6 records the toolchain and the method for each.
  Not measured: macOS x86_64, Windows, x86_64 hardware. The test skips without its
  inputs; `wai-jpegai-e2e.yml` supplies them and requires it to pass; `float_repro`'s own pinned-output test
  needs no inputs and runs in the library tests.
- Two checks keep math-library calls off the decode path. Clippy's
  `disallowed_methods` (`wai-rs/clippy.toml`), denied in each module on the path,
  rejects a listed float method however it is spelled.
  `tests/jpegai_decode_symbols.rs` lists the symbols of an executable that links
  only the decoder and its weight loaders, and fails on any C math-library function
  the executable imports, whatever made the call, and on any it defines other than
  the round-to-integral functions, whose results IEEE 754 fixes (unix targets). A
  definition alone shows what the linker kept, not what the decode calls: GNU ld
  kept an unused `floor` in an x86_64 Linux debug build. The conformance workflow
  runs both on its unix legs. They replace a scan of the source text, which missed a
  call spelled `f64::exp(x)`. Details and evidence: determinism-tiers §5–§6. The
  registry class of `wai.image.jpegai` is unchanged here.
- The gain unit's `log_k` constant was `0.2003654931615394`, 9.2 × 10⁻⁹ from
  `(ln 54.82 − ln 0.11) / 31`, which the reference computes as
  `0.20036548400207613`. It is now that value. At β = 0, the only β the exact decoder
  accepts, both constants give the same scaler for every gain-table entry, so the
  decoded output is unchanged.
- `tools/wai_jpegai_gain_exp_margin.py` now models the reference's gain scaler as the
  reference computes it, in float32, rounding half to even. It fails if the decoder's
  `log_k` differs from the reference's. At β = 0 every table entry is at least 77
  float32 ULPs from a rounding boundary, so the two scalers agree for any float32
  `exp` within that. The margin does not hold over every 12-bit β: at four inputs
  the reference's own scaler depends on the last bit of its `exp`
  (determinism-tiers §6).

