Fix implicit fallthroughs throughout Skia.

This CL is not fully comprehensive; for instance, it does not contain
fixes for backends that don't compile on Mac. But it does resolve the
vast majority of cases that trigger -Wimplicit-fallthrough.

A few minor bugs were found and fixed, but none that were likely to
affect normal operation.

Change-Id: I43487602b0d56200ce8b42702e04f66390d82f60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295916
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
diff --git a/samplecode/SampleAAGeometry.cpp b/samplecode/SampleAAGeometry.cpp
index bc708ea..07e7285 100644
--- a/samplecode/SampleAAGeometry.cpp
+++ b/samplecode/SampleAAGeometry.cpp
@@ -278,6 +278,7 @@
                     switch (v) {
                         case SkPath::kConic_Verb:
                             weight = w;
+                            [[fallthrough]];
                         case SkPath::kQuad_Verb:
                             pts[2] = pts[1];
                             pts[1].fX = (pts[0].fX + pts[2].fX) / 2;
@@ -303,6 +304,7 @@
                             break;
                         case SkPath::kConic_Verb:
                             weight = w;
+                            [[fallthrough]];
                         case SkPath::kQuad_Verb:
                             break;
                         case SkPath::kCubic_Verb: {
@@ -325,6 +327,7 @@
                             break;
                         case SkPath::kConic_Verb:
                             weight = w;
+                            [[fallthrough]];
                         case SkPath::kQuad_Verb: {
                             SkDCubic dCubic;
                             dCubic.set(pts);