Contracts: TimeArenaBuyRouter — DOUB, CL8Y, ETH, USDm entry paths
## Context
DOUB-primary buy router with Kumbaya multi-asset entry. Parent epic: #238.
## Relevant files
- Refactor `contracts/src/TimeCurveBuyRouter.sol` → `TimeArenaBuyRouter.sol`
- `contracts/src/fixtures/AnvilKumbayaFixture.sol`
- `docs/integrations/kumbaya.md`
- `frontend/src/lib/timeCurveKumbayaSingleTx.ts`
## Acceptance criteria
- [ ] **DOUB direct:** `buy(charmWad)` pulls DOUB
- [ ] **CL8Y:** swap via CL8Y/DOUB Kumbaya pair → DOUB → buy
- [ ] **ETH / USDm:** multi-hop to CL8Y → DOUB
- [ ] Single-tx router: `buyViaKumbaya` targets DOUB output equal to gross DOUB need
- [ ] Balance-delta ingress preserved (#123)
- [ ] Chain-time swap deadlines (#83)
## Verification checklist
- [ ] Forge fork/local: each pay asset path
- [ ] `bash scripts/verify-timecurve-buy-router-anvil.sh` replaced with arena equivalent
issue