Specify bench_type & source_type for image benches

This will allow us to use perf filtering for comparing SkImageDecoder
to SkCodec.

BUG=skia:3418

Review URL: https://codereview.chromium.org/1387863002
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index a7a47c5..4ab6ca0 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -790,8 +790,9 @@
             }
         }
 
-
         for (; fCurrentCodec < fImages.count(); fCurrentCodec++) {
+            fSourceType = "image";
+            fBenchType = "skcodec";
             const SkString& path = fImages[fCurrentCodec];
             SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
             SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded));
@@ -845,6 +846,8 @@
 
         // Run the DecodingBenches
         while (fCurrentImage < fImages.count()) {
+            fSourceType = "image";
+            fBenchType = "skimagedecoder";
             while (fCurrentColorType < fColorTypes.count()) {
                 const SkString& path = fImages[fCurrentImage];
                 SkColorType colorType = fColorTypes[fCurrentColorType];
@@ -866,6 +869,8 @@
         bool useCodecOpts[] = { true, false };
         while (fUseCodec < 2) {
             bool useCodec = useCodecOpts[fUseCodec];
+            fSourceType = "image";
+            fBenchType = useCodec ? "skcodec" : "skimagedecoder";
             while (fCurrentSubsetImage < fImages.count()) {
                 while (fCurrentColorType < fColorTypes.count()) {
                     const SkString& path = fImages[fCurrentSubsetImage];
@@ -914,9 +919,12 @@
 
         // Run the BRDBenches
         // We will benchmark multiple BRD strategies.
-        const SkBitmapRegionDecoderInterface::Strategy strategies[] = {
-                SkBitmapRegionDecoderInterface::kOriginal_Strategy,
-                SkBitmapRegionDecoderInterface::kCanvas_Strategy,
+        static const struct {
+            SkBitmapRegionDecoderInterface::Strategy    fStrategy;
+            const char*                                 fName;
+        } strategies[] = {
+            { SkBitmapRegionDecoderInterface::kOriginal_Strategy,   "BRD" },
+            { SkBitmapRegionDecoderInterface::kCanvas_Strategy,     "BRD_canvas" },
         };
 
         // We intend to create benchmarks that model the use cases in
@@ -937,12 +945,14 @@
         const uint32_t minOutputSize = 512;
         while (fCurrentBRDImage < fImages.count()) {
             while (fCurrentBRDStrategy < (int) SK_ARRAY_COUNT(strategies)) {
+                fSourceType = "image";
+                fBenchType = strategies[fCurrentBRDStrategy].fName;
                 while (fCurrentColorType < fColorTypes.count()) {
                     while (fCurrentBRDSampleSize < (int) SK_ARRAY_COUNT(sampleSizes)) {
                         while (fCurrentSubsetType <= kLastSingle_SubsetType) {
                             const SkString& path = fImages[fCurrentBRDImage];
                             const SkBitmapRegionDecoderInterface::Strategy strategy =
-                                    strategies[fCurrentBRDStrategy];
+                                    strategies[fCurrentBRDStrategy].fStrategy;
                             SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
                             const SkColorType colorType = fColorTypes[fCurrentColorType];
                             uint32_t sampleSize = sampleSizes[fCurrentBRDSampleSize];