Rebase and fix chromium

Combine texture provider and resource provider

Largely mechanical. Only three places that were calling createApprox
via texture provider (ie without flags), so that was simple.

BUG=skia:

Change-Id: I876367bcdc6a8db736deedab1028de1972015509
Reviewed-on: https://skia-review.googlesource.com/9176
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/include/private/GrTextureProxy.h b/include/private/GrTextureProxy.h
index f4c52fb..9383ec7 100644
--- a/include/private/GrTextureProxy.h
+++ b/include/private/GrTextureProxy.h
@@ -12,8 +12,8 @@
 #include "GrTexture.h"
 
 class GrCaps;
+class GrResourceProvider;
 class GrTextureOpList;
-class GrTextureProvider;
 
 // This class delays the acquisition of textures until they are actually required
 class GrTextureProxy : virtual public GrSurfaceProxy {
@@ -22,7 +22,7 @@
     const GrTextureProxy* asTextureProxy() const override { return this; }
 
     // Actually instantiate the backing texture, if necessary
-    GrTexture* instantiate(GrTextureProvider*);
+    GrTexture* instantiate(GrResourceProvider*);
 
 protected:
     friend class GrSurfaceProxy; // for ctors