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 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, numbered in link order; the
rest fail as over the limit. The set lands in a sibling and replaces dir
whole, so a concurrent read never sees a half-written or emptied dir.