Pull out shader-specific caps into GrShaderCaps and GrGLSLCaps

BUG=skia:

Review URL: https://codereview.chromium.org/1116713002
diff --git a/src/gpu/GrXferProcessor.cpp b/src/gpu/GrXferProcessor.cpp
index 61cacac..de08ef0 100644
--- a/src/gpu/GrXferProcessor.cpp
+++ b/src/gpu/GrXferProcessor.cpp
@@ -40,7 +40,7 @@
                                                   const GrDrawTargetCaps& caps) const {
 #ifdef SK_DEBUG
     if (this->willReadDstColor(caps, colorPOI, coveragePOI)) {
-        if (!caps.dstReadInShaderSupport()) {
+        if (!caps.shaderCaps()->dstReadInShaderSupport()) {
             SkASSERT(dstCopy && dstCopy->texture());
         } else {
             SkASSERT(!dstCopy || !dstCopy->texture()); 
@@ -54,6 +54,7 @@
 
 bool GrXPFactory::willNeedDstCopy(const GrDrawTargetCaps& caps, const GrProcOptInfo& colorPOI,
                                   const GrProcOptInfo& coveragePOI) const {
-    return (this->willReadDstColor(caps, colorPOI, coveragePOI) && !caps.dstReadInShaderSupport());
+    return (this->willReadDstColor(caps, colorPOI, coveragePOI) 
+            && !caps.shaderCaps()->dstReadInShaderSupport());
 }