Clean up GLSurfaceCGL

This is in preparation for support for using remote CALayers.

The big change is to separate out ImageTransportSurfaceIOSurface into
ImageTransportSurfaceFBO and its StorageProvider. The IOSurface-
specific bits of ImageTransportSurfaceIOSurface are moved into the
StorageProvider. A separate CALayer-specific version will be added
later.

While in the neighborhood, don't make everything inherit from
GLSurfaceCGL (that class doesn't actually do anything). Move the helper
functions and classes from its file to more appropriate locations.

Make image_transport_surface_mac.cc a .mm file, because it will need
to include Objective C code in the near future. Move the
ImageTransportSurfaceFBO into its own file.

Also make the IOSurface handles in renderer_host use the 32-bit
IOSurfaceID handle type instead of uint64, since that is the type
actually used by the interface, and those other bits may find use in
disambiguating handle types.

BUG=312462

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277970 0039d316-1c4b-4281-b951-d872f2087c98
20 files changed