More efficient SkRecorder::flushMiniRecorder()

This should involve no mallocs, frees, or memcpys, and less refcounting.

BUG=skia:

Review URL: https://codereview.chromium.org/1144173002
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 45283f8..0989132 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -136,10 +136,8 @@
 void SkRecorder::flushMiniRecorder() {
     if (fMiniRecorder) {
         SkMiniRecorder* mr = fMiniRecorder;
-        fMiniRecorder = nullptr;  // Needs to happen before p->playback(this) or we loop forever.
-        // TODO: this can probably be done more efficiently by SkMiniRecorder if it matters.
-        SkAutoTUnref<SkPicture> p(mr->detachAsPicture(SkRect::MakeEmpty()));
-        p->playback(this);
+        fMiniRecorder = nullptr;  // Needs to happen before flushAndReset() or we recurse forever.
+        mr->flushAndReset(this);
     }
 }