Reland "Add driver bug workarounds to GrCaps"

This is a reland of 328490c6a1625ce51d0e81688e0c85c79c400d86

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

Bug: chromium: 829614
Change-Id: I7b539f99caa3032c8c595dd5068dc3b179747ccd
Reviewed-on: https://skia-review.googlesource.com/127304
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/gn/gpu.gni b/gn/gpu.gni
index 136bade..a495c55 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -14,6 +14,7 @@
   "$_include/gpu/GrConfig.h",
   "$_include/gpu/GrContextOptions.h",
   "$_include/gpu/GrContext.h",
+  "$_include/gpu/GrDriverBugWorkarounds.h",
   "$_include/gpu/GrGpuResource.h",
   "$_include/gpu/GrRenderTarget.h",
   "$_include/gpu/GrResourceKey.h",
@@ -87,7 +88,6 @@
   "$_src/gpu/GrDrawOpTest.cpp",
   "$_src/gpu/GrDrawOpTest.h",
   "$_src/gpu/GrDriverBugWorkarounds.cpp",
-  "$_src/gpu/GrDriverBugWorkarounds.h",
   "$_src/gpu/GrFixedClip.cpp",
   "$_src/gpu/GrFixedClip.h",
   "$_src/gpu/GrFragmentProcessor.cpp",