rename filterTextFlags to disableLCD

Under the hood, add SkPixelGeometry to the CreateInfo for new devices, allowing them to see their geometry (SkDeviceProperties) up front, rather than having it changed later.

The only exception is for devices that are used on the root-layer, where we don't see the device until after the fact (at least as long as we allow clients to attach a device to a canvas externally).

We also filter the geometry when we're creating a layer, so we can disable LCD text automatically if the layer is not marked as opaque.

NOTRY=True
-- gammatext flake?

Review URL: https://codereview.chromium.org/719253002
diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h
index d90ecbc..ef31276 100644
--- a/src/gpu/SkGpuDevice.h
+++ b/src/gpu/SkGpuDevice.h
@@ -56,6 +56,13 @@
 
     virtual ~SkGpuDevice();
 
+    SkGpuDevice* cloneDevice(const SkSurfaceProps& props) {
+        SkBaseDevice* dev = this->onCreateCompatibleDevice(CreateInfo(this->imageInfo(),
+                                                                      kGeneral_Usage,
+                                                                      props.pixelGeometry()));
+        return static_cast<SkGpuDevice*>(dev);
+    }
+
     GrContext* context() const { return fContext; }
 
     virtual GrRenderTarget* accessRenderTarget() SK_OVERRIDE;
@@ -102,7 +109,6 @@
                               const SkPaint&) SK_OVERRIDE;
     virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
                             const SkPaint&) SK_OVERRIDE;
-    virtual bool filterTextFlags(const SkPaint&, TextFlags*) SK_OVERRIDE;
 
     virtual void flush() SK_OVERRIDE;
 
@@ -119,6 +125,7 @@
 protected:
     virtual bool onReadPixels(const SkImageInfo&, void*, size_t, int, int) SK_OVERRIDE;
     virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int, int) SK_OVERRIDE;
+    bool onShouldDisableLCD(const SkPaint&) const SK_OVERRIDE;
 
     /**  PRIVATE / EXPERIMENTAL -- do not call */
     virtual bool EXPERIMENTAL_drawPicture(SkCanvas* canvas, const SkPicture* picture,