performance: reuse http client, batch stats query
- turso client now persists http connection instead of creating per query
- /stats uses single query with subselects instead of two round trips
- move fromRow to domain structs (Doc, Pub, TagCount)
- update zql hash
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>