Package images downloads the images a task links, so an agent reads
local files instead of fetching urls that expire (Notion's signed links)
or need auth its fetch tool lacks (a private repo's attachments).
Links is every image url doc links, in order of first appearance, each
once: markdown and HTML image syntax with any url, and bare urls whose
path ends in an image extension.
A Downloader fetches images. Authorize, when set, may add credentials to
each first request; the client decides what survives a redirect. A nil
Client refuses local addresses, since the urls come from task text
anyone may have written.
Download fetches up to maxImages urls into dir, named 1.<ext>, 2.<ext>,
... in link order; the rest fail as over the limit. The set lands in a
sibling first and replaces dir whole, so a concurrent read of the same
task never sees a half-written or emptied dir.