add JSON path helpers, simplify events_api.zig
utilities/json.zig:
- getPath(value, "path.to.field") - navigate by dot-separated path
- getString, getInt, getBool, getFloat, getArray, getObject helpers
- extractAt(T, alloc, value, .{"path"}) - comptime typed extraction
- comprehensive tests
events_api.zig:
- parseFilterOptions: 54 lines → 28 lines using path helpers
- filterNext: simplified token field extraction
- filter: cleaner limit parsing
inspired by zat's internal/json.zig pattern
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>