Reland "Make SKP deserialize null instead of PNG images by default."

This make SKP deserialize null instead of PNG images by default,
with a SK_DISABLE_LEGACY_PNG_WRITEBUFFER guard to preserve the
previous behavior.

The reason we need to do this is allow SkPictures to be serialized
or deserialized without a dependency on codecs, to allow the build
to be more modular and not have subtle dependencies.

Clients will need to update places where they serialize SkPictures
(or MultiPictureDocuments) to expressly include an SkSerialProc
(and SkDeserialProc) for images if encoding is desired. Some changes
are listed below:
 - http://cl/563413765
 - https://pdfium-review.googlesource.com/c/pdfium/+/111650
 - https://github.com/flutter/engine/pull/45511
 - https://crrev.com/c/4845659
 - http://ag/24692530

Original change's description:
> Reland "Revert "Make SKP deserialize null instead of PNG images by default.""
>
> This reverts commit b78c91996051d250b6a2946a7b6f14719e014d57.
>
> Reason for revert: Possible cause of https://crbug.com/1485891
>
> Original change's description:
> > Revert "Revert "Make SKP deserialize null instead of PNG images by default.""
> >
> > This reverts commit 2d295711337cf6fcbf66dfc90af39d4188999108.
> >
> > Change-Id: I158484509c1d067cbebdc99f97e42ff734fa855a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/755548
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Kevin Lubick <kjlubick@google.com>
>
> Change-Id: Ifb716927460a8ab6a03dafc168d1eb1eb230fea7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/759268
> Owners-Override: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
> Auto-Submit: Kevin Lubick <kjlubick@google.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Change-Id: Ia93eff9b5ff42fabdd6abae69ba997ddd7c9b1c7
Bug: b/40045064, chromium:1485891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/759936
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
21 files changed