By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Add safe-coloured-text-parsing package for ANSI escape code parsing New packages: - safe-coloured-text-parsing: parses ANSI SGR escape codes from Text into styled Chunks (the inverse of renderChunkText) - safe-coloured-text-parsing-gen: GenValid instances and tests Two-layer attoparsec architecture: - Layer 1 (tokenizer): Text -> [AnsiToken] via attoparsec Parser - Layer 2 (interpreter): [AnsiToken] -> [Chunk] via style-state fold Both layers support lazy Text for streaming. 28 tests including property-based roundtrip (render then parse recovers chunk style).