Create an SkAndroidCodec API separate from SkCodec

We will implement this API using SkCodecs.

SkAndroidCodecs will be used to implement the
BitmapRegionDecoder Java API (and possibly
BitmapFactory).

BUG=skia:

Review URL: https://codereview.chromium.org/1406223002
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 1beaec9..a7cca83 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -104,7 +104,6 @@
 class CodecSrc : public Src {
 public:
     enum Mode {
-        kScaledCodec_Mode,
         kCodec_Mode,
         kScanline_Mode,
         kScanline_Subset_Mode,
@@ -129,6 +128,28 @@
     float                   fScale;
 };
 
+class AndroidCodecSrc : public Src {
+public:
+    enum Mode {
+        kFullImage_Mode,
+        // Splits the image into multiple subsets using a divisor and decodes the subsets
+        // separately.
+        kDivisor_Mode,
+    };
+
+    AndroidCodecSrc(Path, Mode, CodecSrc::DstColorType, int sampleSize);
+
+    Error draw(SkCanvas*) const override;
+    SkISize size() const override;
+    Name name() const override;
+    bool veto(SinkFlags) const override;
+private:
+    Path                    fPath;
+    Mode                    fMode;
+    CodecSrc::DstColorType  fDstColorType;
+    int                     fSampleSize;
+};
+
 // Allows for testing of various implementations of Android's BitmapRegionDecoder
 class BRDSrc : public Src {
 public: