Fix DMWriteTask to write PDF files correctly

Previously, it was not rewinding the asset.

Review URL: https://codereview.chromium.org/659793004
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index 819d7e8..35ae2a7 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -81,9 +81,13 @@
     return get_md5_string(&hasher);
 }
 
+static bool write_asset(SkStreamAsset* input, SkWStream* output) {
+    return input->rewind() && output->writeStream(input, input->getLength());
+}
+
 static SkString get_md5(SkStreamAsset* stream) {
     SkMD5 hasher;
-    hasher.writeStream(stream, stream->getLength());
+    write_asset(stream, &hasher);
     return get_md5_string(&hasher);
 }
 
@@ -154,7 +158,7 @@
         return this->fail("Can't open file.");
     }
 
-    bool ok = fData ? file.writeStream(fData, fData->getLength())
+    bool ok = fData ? write_asset(fData, &file)
                     : SkImageEncoder::EncodeStream(&file, fBitmap, SkImageEncoder::kPNG_Type, 100);
     if (!ok) {
         return this->fail("Can't write to file.");