Add comprehensive fuzzing test suite
Implements 9 specialized fuzzers to exercise different aspects of the HTML parser:
- fuzz_properties.ml: Property-based testing (8 invariants including parse
stability, output bounds, idempotence)
- fuzz_structure.ml: Structure-aware HTML generation with mutation strategies
- fuzz_exhaustion.ml: Resource exhaustion tests for DoS vectors (deep nesting,
wide trees, huge text, many attributes, etc.)
- fuzz_error_recovery.ml: Error recovery tests (12 categories including
unclosed tags, misnested elements, invalid attributes)
- fuzz_serializer.ml: Serializer-specific tests (attributes, void elements,
raw text, whitespace, entities, foreign content)
- fuzz_streaming.ml: Parsing determinism and roundtrip stability tests
- fuzz_encoding.ml: UTF-8 handling, BOM, surrogates, control characters
- fuzz_fragment.ml: Fragment parsing with various context elements
- fuzz_security.ml: mXSS stability and XSS vector handling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>