Instance specific fields for an image primitive. These are
currently stored in a separate array to avoid bloating the
size of PrimitiveInstance. In the future, we should be able
to remove this and store the information inline, by:
(a) Removing opacity collapse / binding support completely.
Once we have general picture caching, we don’t need this.
(b) Change visible_tiles to use Storage in the primitive
scratch buffer. This will reduce the size of the
visible_tiles field here, and save memory allocation
when image tiling is used. I’ve left it as a Vec for
now to reduce the number of changes, and because image
tiling is very rare on real pages.