Move `daily_hit_totals` to `MATERIALIZED VIEW`

* Before: each hourly refresh > 1min (with 256MB `work_mem`)
* After: each hourly refresh 4s and a lot less code