goldfish-opengl: use VirtGpuDevice abstraction for ASG

*** BREAKING CHANGE: Please merge along with vulkan-cereal change ***

The goal is to refactor ASG to make it easier to understand and
extend.  As a bonus, we get external memory ASG, which is needed for
Cuttlefish vhost-user planes.

This uses the VirtGpuDevice abstractions to centralize access to the
transport mechanism.

Long-term, the strategy needs to be to deprecate the ops entirely and
rely on the platform abstractions.  This will be become easier once
the goldfish devices are deprecated, allowing for massive code
deletions.  The only question is what we're going to about goldfish
for Fuchsia.

BUG=235485545
TEST=compile and run VK apps

Change-Id: I6a3b05a8997fb2cfaa5ecaa8a043e66f6a586420
12 files changed