SkTextBlob plumbing

Add SkTextBlob serialization + drawTextBlob() overrides.

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/499413002
diff --git a/include/utils/SkLua.h b/include/utils/SkLua.h
index a7fceaa..ad6f996 100644
--- a/include/utils/SkLua.h
+++ b/include/utils/SkLua.h
@@ -22,6 +22,7 @@
 class SkPath;
 struct SkRect;
 class SkRRect;
+class SkTextBlob;
 
 #define SkScalarToLua(x)    SkScalarToDouble(x)
 #define SkLuaToScalar(x)    SkDoubleToScalar(x)
@@ -60,6 +61,7 @@
     void pushCanvas(SkCanvas*, const char tableKey[] = NULL);
     void pushClipStack(const SkClipStack&, const char tableKey[] = NULL);
     void pushClipStackElement(const SkClipStack::Element& element, const char tableKey[] = NULL);
+    void pushTextBlob(const SkTextBlob*, const char tableKey[] = NULL);
 
     // This SkCanvas lua methods is declared here to benefit from SkLua's friendship with SkCanvas.
     static int lcanvas_getReducedClipStack(lua_State* L);