Add support for light dumps in SkTraceMemoryDump interface.

SkGlyphCache dumps too many glyphs, and to reduce the trace size,
RequestDetails enum is added to SkTraceMemoryDump interface. This
would tell caches to dump only requested details or not a detailed
dump.

BUG=499731

Review URL: https://codereview.chromium.org/1310123007
diff --git a/tests/TraceMemoryDumpTest.cpp b/tests/TraceMemoryDumpTest.cpp
index cda0076..a8cdbfe 100644
--- a/tests/TraceMemoryDumpTest.cpp
+++ b/tests/TraceMemoryDumpTest.cpp
@@ -24,9 +24,15 @@
     void setDiscardableMemoryBacking(
         const char* dumpName,
         const SkDiscardableMemory& discardableMemoryObject) override { }
+    LevelOfDetail getRequestedDetails() const override {
+        return SkTraceMemoryDump::kObjectsBreakdowns_LevelOfDetail;
+    }
 };
 
 DEF_TEST(SkTraceMemoryDump, reporter) {
     TestSkTraceMemoryDump x;
     x.dumpNumericValue("foobar", "size", "bytes", 42);
+    if (x.getRequestedDetails() == SkTraceMemoryDump::kObjectsBreakdowns_LevelOfDetail) {
+        x.dumpNumericValue("foobar/object1", "size", "bytes", 23);
+    }
 }