Refactor DrawTarget and GPU to be independent

BUG=skia:

Review URL: https://codereview.chromium.org/705593002
diff --git a/src/gpu/GrTest.cpp b/src/gpu/GrTest.cpp
index efb37ca..5d31c15 100644
--- a/src/gpu/GrTest.cpp
+++ b/src/gpu/GrTest.cpp
@@ -71,6 +71,16 @@
 
     virtual void discard(GrRenderTarget*) SK_OVERRIDE { }
 
+    virtual bool canCopySurface(GrSurface* dst,
+                                GrSurface* src,
+                                const SkIRect& srcRect,
+                                const SkIPoint& dstPoint) SK_OVERRIDE { return false; };
+
+    virtual bool copySurface(GrSurface* dst,
+                             GrSurface* src,
+                             const SkIRect& srcRect,
+                             const SkIPoint& dstPoint) SK_OVERRIDE { return false; };
+
 private:
     virtual void onResetContext(uint32_t resetBits) { };
     virtual GrTexture* onCreateTexture(const GrSurfaceDesc& desc,
@@ -108,7 +118,7 @@
                                     const SkIRect& rect,
                                     bool insideClip)  SK_OVERRIDE { }
 
-                                    virtual void onGpuDraw(const DrawInfo&)  SK_OVERRIDE { }
+    virtual void onGpuDraw(const GrDrawTarget::DrawInfo&)  SK_OVERRIDE { }
     virtual bool onReadPixels(GrRenderTarget* target,
                               int left, int top, int width, int height,
                               GrPixelConfig,