Add Zstd decompression to browser backend via fzstd.js
- tessera_zarr_jsoo: register "zstd" codec using fzstd.decompress
(Uint8Array → Uint8Array), bridged to OCaml strings
- Notebook setup: load fzstd@0.1.1 via importScripts before TF.js
- Blosc.decode handles the full pipeline: parse header → extract
compressed payload → fzstd decompress → bitshuffle unshuffle
- Fixes "compressed frame but no decompressor provided" error
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>