Raw images on Web uses correct origin and colors

Summary

Context

Description of change

Migration guide

Timeline

References

Summary

How raw images are rendered on Web has been corrected
and is now consistent with that on other platforms.
This breaks legacy apps that had to feed incorrect data
to ui.ImageDescriptor.raw or ui.decodeImageFromPixels,
causing the resulting images to be upside-down
and incorrectly colored
(whose red and blue channels are swapped.)

Context

The “pixel stream” that Flutter uses internally
has always been defined as the same format:
for each pixel, four 8-bit channels are packed in the order defined
by a format argument, then grouped in a row,
from left to right, then rows from top to bottom.