Change GrTextContext fallbacks to be a linked list chain.

Preliminary work for getting color emoji working with
distance field text.

BUG=skia:2887

Review URL: https://codereview.chromium.org/650273003
diff --git a/src/gpu/GrBitmapTextContext.cpp b/src/gpu/GrBitmapTextContext.cpp
index 7cfe917..8620e97 100755
--- a/src/gpu/GrBitmapTextContext.cpp
+++ b/src/gpu/GrBitmapTextContext.cpp
@@ -66,6 +66,11 @@
     fVertexBounds.setLargestInverted();
 }
 
+GrBitmapTextContext* GrBitmapTextContext::Create(GrContext* context,
+                                                 const SkDeviceProperties& props) {
+    return SkNEW_ARGS(GrBitmapTextContext, (context, props));
+}
+
 GrBitmapTextContext::~GrBitmapTextContext() {
     this->flush();
 }
@@ -86,7 +91,7 @@
     fMaxVertices = 0;
 }
 
-void GrBitmapTextContext::drawText(const GrPaint& paint, const SkPaint& skPaint,
+void GrBitmapTextContext::onDrawText(const GrPaint& paint, const SkPaint& skPaint,
                                    const char text[], size_t byteLength,
                                    SkScalar x, SkScalar y) {
     SkASSERT(byteLength == 0 || text != NULL);
@@ -177,7 +182,7 @@
     this->finish();
 }
 
-void GrBitmapTextContext::drawPosText(const GrPaint& paint, const SkPaint& skPaint,
+void GrBitmapTextContext::onDrawPosText(const GrPaint& paint, const SkPaint& skPaint,
                                       const char text[], size_t byteLength,
                                       const SkScalar pos[], int scalarsPerPosition,
                                       const SkPoint& offset) {