Keep a capture's shared download client open until the capture ends

A capture's downloads shared one client through http.runWithClient so a
failed capture could abort the rest. But package:http's top-level get
closes whatever client it picked up when its request finishes, so the
first finished download closed the shared client: in a browser that
aborts the other downloads in flight and refuses a refresh after an
expired URL, and a screenshot of a page with two or more cloud images
failed with "Couldn't load the images on this page."

The fetcher now receives the capture's client and downloadCloudImageBytes
calls client.get on it, so only the capture closes it, once it is done.
A test serves three images (one refreshed after an expired URL) through
a client that, like BrowserClient, refuses requests once closed; it
fails with the old behaviour.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
088055b051Dara Adedeji committed on 9/29/2026, 7:23:23 AMparent5424d76

Checks

All checks passed
4 files changedLine totals unavailable