change pixel-serializer to support reencoding existing data

Trying to evolve this interface so it can
- support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT
- allow for encoding images as well as bitmaps (e.g. for picture serialization)
- perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format)

BUG=skia:

Review URL: https://codereview.chromium.org/1373683003
diff --git a/tests/ImageTest.cpp b/tests/ImageTest.cpp
index 0b27af9..e022077 100644
--- a/tests/ImageTest.cpp
+++ b/tests/ImageTest.cpp
@@ -119,8 +119,8 @@
     bool didEncode() const { return fDidEncode; }
 
 protected:
-    bool onUseEncodedData(const void*, size_t) override {
-        return false;
+    SkData* onReencodeData(SkData*) override {
+        return nullptr;
     }
 
     SkData* onEncodePixels(const SkImageInfo&, const void*, size_t) override {
diff --git a/tests/KtxTest.cpp b/tests/KtxTest.cpp
index e0d9a27..0ad2496 100644
--- a/tests/KtxTest.cpp
+++ b/tests/KtxTest.cpp
@@ -8,6 +8,7 @@
 #include "Resources.h"
 #include "SkBitmap.h"
 #include "SkData.h"
+#include "SkImage.h"
 #include "SkImageGenerator.h"
 #include "SkForceLinking.h"
 #include "SkImageDecoder.h"
@@ -149,14 +150,11 @@
         return;
     }
 
-    bool installDiscardablePixelRefSuccess =
-        SkDEPRECATED_InstallDiscardablePixelRef(fileData, &etcBitmap);
-    REPORTER_ASSERT(reporter, installDiscardablePixelRefSuccess);
+    SkAutoTUnref<SkImage> image(SkImage::NewFromEncoded(fileData));
+    REPORTER_ASSERT(reporter, image.get());
 
-    // Write the bitmap out to a KTX file.
-    SkData *ktxDataPtr = SkImageEncoder::EncodeData(etcBitmap, SkImageEncoder::kKTX_Type, 0);
-    SkAutoDataUnref newKtxData(ktxDataPtr);
-    REPORTER_ASSERT(reporter, ktxDataPtr);
+    SkAutoDataUnref newKtxData(image->encode(SkImageEncoder::kKTX_Type, 0));
+    REPORTER_ASSERT(reporter, newKtxData.get());
 
     // See is this data is identical to data in existing ktx file.
     SkString ktxFilename = GetResourcePath("mandrill_128.ktx");