Reland "Reland "Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster""

This reverts commit 3e6bfdfea566b8368b10cd911499ae1bb09d3004.

Reason for revert: Fixing Android

Original change's description:
> Revert "Reland "Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster""
>
> This reverts commit ecbc27e5ed5d850d16c1d802fc77d0f0546bf3b5.
>
> Reason for revert: Mysterious Android failures. Readback issues?
>
> Original change's description:
> > Reland "Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster"
> >
> > This is a reland of commit d21c3f85a2425d7d31ae1a258b920fccd53aed1c
> >  - Removes a non-existent file from public.bzl
> >  - Adds implementation of some missing backwards-compatible shims
> >  - Re-adds an unintentionally deleted null check from gm/image.cpp
> >
> > Original change's description:
> > > Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster
> > >
> > > This is the first of many CLs that aims to split the GPU and CPU
> > > coupling to SkImage.
> > >
> > > Step 1 was to move all SkImage::Make static functions (factories)
> > > to their own namespace (SkImages), which allows us to define these
> > > in different header files, which can be optionally exposed via the public API.
> > >
> > >   * SkImage::MakeBackendTextureFromSkImage -> SkImages::GetBackendTextureFromImage
> > >   * SkImage::MakeCrossContextFromPixmap -> SkImages::CrossContextTextureFromPixmap
> > >   * SkImage::MakeFromAdoptedTexture -> SkImages::AdoptTextureFrom
> > >   * SkImage::MakeFromBitmap -> SkImages::RasterFromBitmap
> > >   * SkImage::MakeFromCompressedTexture -> SkImages::TextureFromCompressedTexture
> > >   * SkImage::MakeFromEncoded -> SkImages::DeferredFromEncodedData
> > >   * SkImage::MakeFromGenerator -> SkImages::DeferredFromGenerator
> > >   * SkImage::MakeFromPicture -> SkImages::DeferredFromPicture
> > >   * SkImage::MakeFromRaster -> SkImages::RasterFromPixmap
> > >   * SkImage::MakeFromTexture -> SkImages::BorrowTextureFrom
> > >   * SkImage::MakeFromYUVAPixmaps -> SkImages::TextureFromYUVAPixmaps
> > >   * SkImage::MakeFromYUVATextures -> SkImages::TextureFromYUVATextures
> > >   * SkImage::MakePromiseTexture -> SkImages::PromiseTextureFrom
> > >   * SkImage::MakePromiseYUVATexture -> SkImages::PromiseTextureFromYUVA
> > >   * SkImage::MakeRasterCopy -> SkImages::RasterFromPixmapCopy
> > >   * SkImage::MakeRasterData -> SkImages::RasterFromData
> > >   * SkImage::MakeRasterFromCompressed -> SkImages::RasterFromCompressedTextureData
> > >   * SkImage::MakeTextureFromCompressed -> SkImages::TextureFromCompressedTextureData
> > >
> > > We chose SkImages as the name because it aligns with existing
> > > "effective namespaces" like `SkShaders` and `SkColorFilters`.
> > >
> > > Step 2 was to move the logic requiring the Ganesh GPU backend out of
> > > SkImage classes (starting with SkImage_Raster as an easy starting point)
> > > and into files that live under src/gpu/ganesh. The graphite code
> > > will come later. This involved making SkImage_Raster.h so ganesh
> > > can see that subclass and exposing a few fields via getters/setters.
> > >
> > > I don't think these steps can be easily split into two CLs (sorry).
> > > I've left backwards compatible code so we can fix up clients
> > > incrementally (and lock it in via the
> > > SK_DISABLE_LEGACY_IMAGE_FACTORIES define).
> > >
> > > I ran `git clang-format origin/main` after the renaming, and spot
> > > checked the formatting; seemed fine to me.
> > >
> > > Suggested review order:
> > >  - SkImage.h, SkImageGanesh.h, SkImageAndroid.h. Note that SkImage.h
> > >    has all the legacy factories guarded by an #ifdef at the bottom
> > >    for easier deletion in the future.
> > >  - src/image/SkImage_*Factories.cpp to see where the implementation
> > >    of these factories have been moved. We want them in separate files
> > >    to make the modular builds easier in the future.
> > >  - SkImage_Base.cpp, SkImage_Raster.h where things were moved out
> > >    of SkImage.cpp and SkImage_Raster.cpp for better organization.
> > >  - GrImageUtils.cpp/.h to see where the other methods of SkRaster
> > >    that used the GPU code were moved. I hope to follow suit with
> > >    other Images but for now just keep their onAsView etc methods
> > >    in place.
> > >  - Many other changes were mechanical to use the new namespace
> > >    and methods.
> > >
> > > Change-Id: Ia345c2f0f1b1a2f65178a857bdd0d6118fee7e58
> > > Bug: skia:13983
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/648297
> > > Reviewed-by: Brian Osman <brianosman@google.com>
> > > Commit-Queue: Kevin Lubick <kjlubick@google.com>
> >
> > Bug: skia:13983
> > Change-Id: I66bc3ad3197c59b2db971020d98227b39b098bf2
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/658557
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> Bug: skia:13983
> Change-Id: Ib2c6c1990803d1a4e9b538c9c2d727187639fe1a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/659456
> Owners-Override: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Nolan Scobie <nscobie@google.com>
> Auto-Submit: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Nolan Scobie <nscobie@google.com>

Bug: skia:13983
Change-Id: I355cbe3b624eb020e1bbd23738ae5249c234318f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/661059
Reviewed-by: Brian Osman <brianosman@google.com>
227 files changed