Add xmin horizon monitoring metrics and dashboard
## Summary
Add xmin horizon monitoring to pgwatch/PostgresAI so we can observe the actual xmin horizon instead of relying only on generic long-running-transaction signals.
## Why
Current monitoring is too weak for wraparound and bloat RCA because it does not distinguish which subsystem is holding the xmin horizon back. We need per-component visibility plus low-cardinality blocker details that are still safe to store historically.
## Scope
- add an `xmin_horizon` summary metric with age and count dimensions for:
- `pg_stat_activity`
- `pg_replication_slots`
- `pg_stat_replication`
- `pg_prepared_xacts`
- add an `xmin_horizon_blockers` metric with constrained RCA labels instead of high-cardinality query text
- fix replication slot xmin age calculation to handle nullable `xmin` / `catalog_xmin`
- add a Grafana dashboard for the new metrics in both config trees
- add a focused integration-style test for the `pg_stat_activity` path
## Reference
- docs: https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon
- target release: postgresai 0.15
issue