Problem: CCoinsView::Cursor() makes cursor iteration look like a generic coins view operation, but cursor iteration is only supported by the DB-backed coins view.
The cache override only threw, and the coins_view fuzz target only asserted that deterministic unsupported throw path.
Fix: Make cursor iteration a CCoinsViewDB operation.
Cursor users now take the DB-backed view directly, CCoinsView no longer exposes Cursor(), and the fuzz target keeps DB-backed cursor coverage while dropping the unsupported cache throw probe.
The UTXO stats path is also tightened to pass the non-null DB view by reference, and stale null handling for DB cursors is removed.
This was extracted from review discussion in #35295 (review) and extended based on #35562 (comment).