feat(canopy-web): per-member income editing UI for caseworkers

Source: canopy-web-persons-wiring plan Potential Improvements.

The income tab on the case-detail page is currently read-only. Editing income (add new line item, end-date a stale line, correct amounts) is done by hitting canopy-persons directly. Wire htmx-based edit forms in the worker-portal so caseworkers can manage income from the case view.

Acceptance: add-row/edit-row/end-date forms; updates roundtrip through canopy-persons; tab refresh after mutation; SPDX + CSP-compliant.

Out of scope: bulk import.