refactor: simplify dtype codec to pure codec composition
Replace manual JSON AST pattern matching with codec-based decoding:
- jdec/jenc helpers: decode/encode via any jsont codec, raise jsont errors
- field_jsont: positional tuple via Jsont.list Jsont.json + jdec for each element
- structured_codec: just Jsont.list field_jsont wrapped in a trivial map
- No Jsont.String/Array/Number constructor matching anywhere in dtype
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>