add drawImageNine
this also exposes nine-patch drawing directly to devices, and creates a shared iterator for unrolling a nine-patch into single rect->rect draws.

BUG=skia:

Review URL: https://codereview.chromium.org/1211583003
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 812fd9d..c274055 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -222,6 +222,11 @@
     APPEND(DrawImageRect, this->copy(paint), image, this->copy(src), dst);
 }
 
+void SkRecorder::onDrawImageNine(const SkImage* image, const SkIRect& center,
+                                 const SkRect& dst, const SkPaint* paint) {
+    APPEND(DrawImageNine, this->copy(paint), image, center, dst);
+}
+
 void SkRecorder::onDrawSprite(const SkBitmap& bitmap, int left, int top, const SkPaint* paint) {
     APPEND(DrawSprite, this->copy(paint), delay_copy(bitmap), left, top);
 }