optimize the disable-caching case for SkImage::readPixels

If the client wants no caching, and we haven't already cached it, pass the
caller's dst-buffer directly down to the generator, avoiding the (previous)
extra memcpy.

BUG=skia:4594

Review URL: https://codereview.chromium.org/1473373002
diff --git a/gm/image.cpp b/gm/image.cpp
index 03ed105..991b401 100644
--- a/gm/image.cpp
+++ b/gm/image.cpp
@@ -214,7 +214,7 @@
     storage.alloc(info);
 
     const SkImage::CachingHint chints[] = {
-        SkImage::kAllow_CachingHint, // SkImage::kDisallow_CachingHint,
+        SkImage::kAllow_CachingHint, SkImage::kDisallow_CachingHint,
     };
     const SkFilterQuality qualities[] = {
         kNone_SkFilterQuality, kLow_SkFilterQuality, kMedium_SkFilterQuality, kHigh_SkFilterQuality,
@@ -285,7 +285,7 @@
         const SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
 
         const ImageMakerProc procs[] = {
-            make_raster, make_picture, make_codec, make_gpu,
+            make_codec, make_raster, make_picture, make_codec, make_gpu,
         };
         for (auto& proc : procs) {
             SkAutoTUnref<SkImage> image(proc(info, canvas->getGrContext()));