Added GrSurfaceContext and GrTextureContext

This lets copy-to-texture to be treated like copy-to-rt.
To match current behavior, though, copies to texture are
still executed immediately (forcing a flush).

Once MDB is enabled, copies to texture will be deferred.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5093

Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367
Reviewed-on: https://skia-review.googlesource.com/5093
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/gn/gpu.gni b/gn/gpu.gni
index a705ed6..1779f7f 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -31,7 +31,9 @@
   "$_include/gpu/GrResourceKey.h",
   "$_include/gpu/GrShaderVar.h",
   "$_include/gpu/GrSurface.h",
+  "$_include/gpu/GrSurfaceContext.h",
   "$_include/gpu/GrTexture.h",
+  "$_include/gpu/GrTextureContext.h",
   "$_include/gpu/GrSamplerParams.h",
   "$_include/gpu/GrTextureProvider.h",
   "$_include/gpu/GrTestUtils.h",
@@ -192,9 +194,11 @@
   "$_src/gpu/GrSoftwarePathRenderer.h",
   "$_src/gpu/GrSurfacePriv.h",
   "$_src/gpu/GrSurface.cpp",
+  "$_src/gpu/GrSurfaceContext.cpp",
   "$_src/gpu/GrSurfaceProxy.cpp",
   "$_src/gpu/GrSwizzle.h",
   "$_src/gpu/GrTexture.cpp",
+  "$_src/gpu/GrTextureContext.cpp",
   "$_src/gpu/GrTextureParamsAdjuster.h",
   "$_src/gpu/GrTextureParamsAdjuster.cpp",
   "$_src/gpu/GrTexturePriv.h",