feat(web): add missing error boundaries across all route groups
- Add global-error.tsx at app root (inline styles, wraps html/body)
- Add group-level error.tsx for (public) — catches all unguarded public routes
- Add per-route error.tsx for high-traffic public segments:
listings, listings/[id], du-an, du-an/[slug],
khu-cong-nghiep, khu-cong-nghiep/[slug], agents, agents/[id], payment
- Add auth/callback/error.tsx for OAuth callback failures
- Commit coverage table to apps/web/docs/error-boundary-coverage.md
Pre-existing API test failures unrelated to this change (broker-cert,
update-listing-status, mcp.module) were already failing on master.
Closes GOO-115
Co-Authored-By: Paperclip <noreply@paperclip.ing>