Update grammar for Aiken v1.1+ syntax
Add comprehensive support for Aiken v1.1+ language features:
- Decorators (@tag, @list) on types and enum variants
- Benchmarks (bench keyword) with via fuzzer support
- error keyword alongside fail, todo with optional expression
- Variadic trace (trace @"label": a, b, c)
- Soft-cast (if expr is Pattern) within if expressions
- When clause alternatives with pipe (|)
- Record updates with spread syntax (Type { ..base, field: value })
- fail/fail once test modifiers for property tests
- as bindings on let/expect assignments
- Backpass assignment (<-)
- Function argument destructuring (pattern and record)
- Function type aliases (type Callback = fn(Int) -> Bool)
- Typed validator handlers with else fallback
- Binary (0b) and octal (0o) integer literals
- Constants referencing other constants
- Discard patterns in function arguments
Also updates Rust bindings to tree-sitter-language 0.1, adds
tree-sitter.json for ABI 15, and improves highlight queries.