Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted.

Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/376703009
diff --git a/src/gpu/gl/GrGpuGL.h b/src/gpu/gl/GrGpuGL.h
index a2c636d..509c4c1 100644
--- a/src/gpu/gl/GrGpuGL.h
+++ b/src/gpu/gl/GrGpuGL.h
@@ -105,8 +105,6 @@
     void notifyIndexBufferDelete(GrGLuint id) {
         fHWGeometryState.notifyIndexBufferDelete(id);
     }
-    void notifyTextureDelete(GrGLTexture* texture);
-    void notifyRenderTargetDelete(GrRenderTarget* renderTarget);
 
     // These functions should be used to generate and delete GL path names. They have their own
     // allocator that runs on the client side, so they are much faster than going through GenPaths.
@@ -464,8 +462,8 @@
     GrDrawState::DrawFace       fHWDrawFace;
     TriState                    fHWWriteToColor;
     TriState                    fHWDitherEnabled;
-    GrRenderTarget*             fHWBoundRenderTarget;
-    SkTArray<GrTexture*, true>  fHWBoundTextures;
+    uint64_t                    fHWBoundRenderTargetInstanceID;
+    SkTArray<uint64_t, true>    fHWBoundTextureInstanceIDs;
 
     struct PathTexGenData {
         GrGLenum  fMode;