Simplify internalformat handling for GpuMemoryBuffer

For any given BufferFormat, there is a single internal format that it is
compatible with (note, the converse isn't true), as defined by
gpu::IsImageFormatCompatibleWithGpuMemoryBufferFormat.

Rather than leaving guess-work to the client, instead expose it via a
gpu::InternalFormatForGpuMemoryBufferFormat. This in turns simplifies
quite a few things, and in particular we don't need to send redundant
information in IPC (BufferFormat vs internalformat) that we then need to
validate.

Bug: 870116
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I34a12c71c252ba2a5199f47ce983a02307df351b
Reviewed-on: https://chromium-review.googlesource.com/c/1290192
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601193}
23 files changed