Sketch DM refactor.

BUG=skia:3255

I think this supports everything DM used to, but has completely refactored how
it works to fit the design in the bug.

Configs like "tiles-gpu" are automatically wired up.

I wouldn't suggest looking at this as a diff.  There's just a bunch of deleted
files, a few new files, and one new file that shares a name with a deleted file
(DM.cpp).

NOTREECHECKS=true

Committed: https://skia.googlesource.com/skia/+/709d2c3e5062c5b57f91273bfc11a751f5b2bb88

Review URL: https://codereview.chromium.org/788243008
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 36a9177..12686e3 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -77,14 +77,7 @@
 
 static SkString humanize(double ms) {
     if (FLAGS_verbose) return SkStringPrintf("%llu", (uint64_t)(ms*1e6));
-    if (ms > 1e+3)     return SkStringPrintf("%.3gs",  ms/1e3);
-    if (ms < 1e-3)     return SkStringPrintf("%.3gns", ms*1e6);
-#ifdef SK_BUILD_FOR_WIN
-    if (ms < 1)        return SkStringPrintf("%.3gus", ms*1e3);
-#else
-    if (ms < 1)        return SkStringPrintf("%.3gµs", ms*1e3);
-#endif
-    return SkStringPrintf("%.3gms", ms);
+    return HumanizeMs(ms);
 }
 #define HUMANIZE(ms) humanize(ms).c_str()
 
@@ -548,7 +541,7 @@
                         static const int kFlags = SkPictureRecorder::kComputeSaveLayerInfo_RecordFlag;
                         pic->playback(recorder.beginRecording(pic->cullRect().width(),
                                                               pic->cullRect().height(),
-                                                              &factory, 
+                                                              &factory,
                                                               fUseMPDs[fCurrentUseMPD] ? kFlags : 0));
                         pic.reset(recorder.endRecording());
                     }