Reland "[includes] Enforce IWYU on GrCaps"

This is a reland of commit c3c4e81145c9ca9d3dd4041038b92fada3dd1082

Original change's description:
> [includes] Enforce IWYU on GrCaps
>
> This also attempts to remove an include of GrBackendSurface.h
> by breaking out TestFormatColorTypeCombination into its own
> file (and moving it into the GrTest namespace).
>
> Change-Id: I9af7a6bd87c7bffe262d2b021d4135de4345f5f2
> Bug: skia:13052
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/607001
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: skia:13052
Change-Id: I611e545cf09b641f181770584bdff819df7aad7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/607657
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
23 files changed