Create SharedState struct holding thread_pool, resolved_target, and config
so they are initialized once instead of per-file (~289 times). Remove C
exports (zig_compile_air, zig_compile_air_free) and dump.h since AIR data
now flows through Zig-only processSource. Use arena-based allocation in
AirCollector instead of manual free.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>