gpu: Mailbox emulation with EGLImage

This adds support for sharing image buffers through EGLImage-like
semantics. It's made to look as if textures were shared through
mailboxes by creating multiple Texture instances and synchronizing
parameters and image handle etc. across MailboxManager instances (for
example across contexts and possibly GPU threads).
 
Since GL clients are async anyways, it only guarantees that changes to
the texture structure or filters become visible after the client has
waited on a sync point, while fences are used to synchronize read/write
access to the underlying buffer.
 
NOTRY=True
BUG=332146

Review URL: https://codereview.chromium.org/180723023

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256962 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256962