Remove the cpu_pictures array and store the PicturePrimitive directly inside the BrushPrimitive. The rationale here is to move the prim store arrays to be stored and owned by each PicturePrimitive. This is an interim step towards that - it's a bit messy in places due to borrow check issues, but should be a lot tidier once complete. The benefit of doing this is that as we start to cache Pictures more aggressively, we can retain the PicturePrimitive struct from a previous frame, and easily compare the embedded primitive runs to see if we have a cache hit. This will make it possible to cache Picture primitives between *display lists* rather than just scroll frames where appropriate, by doing a deep compare on the primitive runs in a picture.