Reland "Use DirectComposition only if hardware overlays are supported"

This is a reland of 90b4fddc3ac00c109bedfb8a395faaa3e9e49f80

Early out from DirectComposition path if it cannot possibly be supported
even if command line flags force it on.  This is needed to make pixel
tests which force enable DirectComposition work on Windows 7/2008 bots.

Original change's description:
> Use DirectComposition only if hardware overlays are supported
>
> Before this change, we were using DirectCompositionSurfaceWin on most
> newer systems, but it's not needed unless hardware overlays are
> supported.
>
> The disable_direct_composition workaround increases crash rates because
> it's applied before GLSurfaceEGL decides to use direct composition with
> ANGLE native EGL surfaces.
>
> This change moves all direct composition logic from GLSurfaceEGL to
> DirectCompositionSurfaceWin, and removes use of direct composition with
> ANGLE surfaces.
>
> Bug: 894675
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
> Change-Id: I2e9c7c8a7ff36fe7b24868544c03aad0e0b7dad6
> Reviewed-on: https://chromium-review.googlesource.com/c/1278529
> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#600529}

TBR=zmo@chromium.org,piman@chromium.org,dcheng@chromium.org

Bug: 894675
Change-Id: Ie4322ad2cfceac2156a241b5affbc962dde24088
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1287254
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600662}
21 files changed