arrayjoin was making a region on every input image during startup, and
repeating for each thread (!!) so large arrays could be very expensive
to join.
Instead, make input regions on demand, and computre set of required
input images rather than searching for them.
See https://github.com/libvips/libvips/discussions/3247