Split default and user-supplied event tracers.

Chrome's got a test scenario where setting the user-supplied tracer is racing with a concurrent use of the default tracer.

BUG=chromium:437044

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1099123002
diff --git a/include/utils/SkEventTracer.h b/include/utils/SkEventTracer.h
index 8d9fd11..f4f8676 100644
--- a/include/utils/SkEventTracer.h
+++ b/include/utils/SkEventTracer.h
@@ -29,10 +29,7 @@
 
     static SkEventTracer* GetInstance();
 
-    static void SetInstance(SkEventTracer* tracer) {
-        SkDELETE(SkEventTracer::gInstance);
-        SkEventTracer::gInstance = tracer;
-    }
+    static void SetInstance(SkEventTracer*);
 
     virtual ~SkEventTracer() { }
 
@@ -68,8 +65,6 @@
         updateTraceEventDuration(const uint8_t* categoryEnabledFlag,
                                  const char* name,
                                  SkEventTracer::Handle handle) = 0;
-private:
-    static SkEventTracer *gInstance;
 };
 
 #endif // SkEventTracer_DEFINED