SIGN IN SIGN UP

feat(unicode): \p{...} / \P{...} Unicode property escapes (General_Category)

Add Unicode property escapes to the engine:

- Generated `unicode_gc_data.zig` — 3409 General_Category ranges built from
  UnicodeData.txt — and rewrote `getGeneralCategory` to binary-search it
  (previously a coarse ASCII/Latin approximation). `matchesProperty` now covers
  every General_Category (single + super-categories) and `fromString` maps all
  short/long names plus `gc=`.
- Parser: `\p{Name}` / `\P{Name}` (and `gc=Name`) lex to `escape_p`/`escape_P`
  tokens carrying the resolved `UnicodeProperty`; an unknown name is a syntax
  error; bare `\p` (no `{...}`) is an IdentityEscape. New `unicode_property` AST
  node.
- Backtracking matcher decodes the UTF-8 code point and tests the property
  (consuming the whole code point); the feature forces the backtracking engine.

Verified end-to-end from zig-js: `\p{L}`, `\p{Lu}`, `\P{L}`, `\p{Letter}`,
`\p{gc=Lu}`, and accurate non-ASCII categories (Greek, CJK, currency).
C
Chris committed
14394b2edc024eb24232cc3cef4464eb6579a625
Parent: 470d9ee