[rust png] Support color transforms for (narrower) subframes.

In APNG some frames may be smaller that the full image.  To accomodate
this, this CL tweaks `SkPngCodecBase::initializeXforms` so that it takes
`frameWidth` into account.

The code in this CL will not be load-bearing until
`SkPngRustCodec::getFrameInfo` supports more than one frame.  OTOH this
CL is necessary so that later `SkPngRustCodec` passes existing Blink
tests (e.g. `AnimatedPNGTests.ParseAndDecodeByteByByte`).

Bug: chromium:356922876
Change-Id: I548befd4cfe49178ee94d4c0febe5a9a9918941b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/903996
Reviewed-by: Daniel Dilan <danieldilan@google.com>
Commit-Queue: Ɓukasz Anforowicz <lukasza@google.com>
7 files changed