SVG backend in DM

Not enabled by default, but this should get you SKPs, GMs etc for free to play with.

$ out/Debug/dm -w svgs --src gm skp --config svg

BUG=skia:

Review URL: https://codereview.chromium.org/892693002
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index f3ed574..baf1871 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -6,6 +6,7 @@
 #include "SkOSFile.h"
 #include "SkPictureRecorder.h"
 #include "SkRandom.h"
+#include "SkSVGDevice.h"
 #include "SkStream.h"
 
 namespace DM {
@@ -227,6 +228,16 @@
 
 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
+SVGSink::SVGSink() {}
+
+Error SVGSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const {
+    SkAutoTUnref<SkBaseDevice> device(SkSVGDevice::Create(src.size(), dst));
+    SkCanvas canvas(device);
+    return src.draw(&canvas);
+}
+
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
 RasterSink::RasterSink(SkColorType colorType) : fColorType(colorType) {}
 
 Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const {