Migrate `SkIcoCodec` to generic registry-based APIs

This CL migrates `SkIcoCodec` to use the generic
`SkCodec::MakeFromStream` API instead of calling the concrete
`SkPngDecoder` directly.

This ensures that it respects the runtime decoder registry.

In Android, the PNG backend can be controlled at runtime by calling
`SkCodecs::Register(SkPngRustDecoder::Decoder())` at startup, which will
replace the default C++ PNG decoder in the registry in-place. The
migrated internal decoder will then transparently use the selected
backend.

BUG=502196254

Change-Id: Ieb1e4d5a0e29d12a3020acc83f00e7e1c967e911
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279596
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
1 file changed