feat(legacy): complete the v0.3 Huffman decoder path
The frozen v0.3 Rust decoder already handled the raw and X2 paths, but its
historical Huffman X4 table construction and four-stream decode path were
missing. Port the v0.3-specific X4 structures, rank calculations, table fill,
stream selection, and decode behavior without reusing modern entropy code.
Add ABI, malformed-frame, streaming-reset, and X4 regression coverage while
keeping the existing declaration-only C boundary unchanged.
Test Plan:
- Focused v0.3 Rust tests -- 6 passed
- Legacy-support-3 library build -- passed
- `make -C tests -j2 test-legacy` -- passed
- `make -C tests -j2 test-decodecorpus` -- passed
- `cargo +nightly fmt --manifest-path rust/Cargo.toml -- --check` -- passed
- `git diff --check` -- passed
- Full clippy remains subject to the unrelated pre-existing zbuff dead-code baseline