Implement all SkCanvas overrides that SkPictureRecord does.

Primarily this is for isDrawingToLayer().  drawData() and onNewSurface() are
for completeness.

BUG=409138
R=robertphillips@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/545613002
diff --git a/src/core/SkRecords.h b/src/core/SkRecords.h
index bd65fc5..c1c5596 100644
--- a/src/core/SkRecords.h
+++ b/src/core/SkRecords.h
@@ -58,7 +58,8 @@
     M(DrawRRect)                                                    \
     M(DrawRect)                                                     \
     M(DrawSprite)                                                   \
-    M(DrawTextBlob)                                                     \
+    M(DrawTextBlob)                                                 \
+    M(DrawData)                                                     \
     M(DrawVertices)
 
 // Defines SkRecords::Type, an enum of all record types.
@@ -270,6 +271,8 @@
                         SkPath, path,
                         Optional<SkMatrix>, matrix);
 
+RECORD2(DrawData, PODArray<char>, data, size_t, length);
+
 // This guy is so ugly we just write it manually.
 struct DrawVertices {
     static const Type kType = DrawVertices_Type;