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/BUILD.gn b/BUILD.gn
index 66dac2c..83146bb 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -839,7 +839,7 @@
 
     # see comments in skia_compile_processors about out dir path shenanigans.
     output_file =
-        rebase_path("src/gpu/GrDriverBugWorkaroundsAutogen.h", root_out_dir)
+        rebase_path("include/gpu/GrDriverBugWorkaroundsAutogen.h", root_out_dir)
 
     outputs = [
       "$root_out_dir/$output_file",