Make index data match the exact size of the frame read from the animation (which can be smaller than the canvas, or larger or positioned partially off-screen, need to validate a GIF with index areas that go outside the canvas area sometime), and canvas data be the size of the rendered BGRA frame, after cropping/disposal/etc