Cleanup timing state machine

BUG=skia:

Review URL: https://codereview.chromium.org/1386933002
diff --git a/bench/Benchmark.h b/bench/Benchmark.h
index 00b05af..a403a6e 100644
--- a/bench/Benchmark.h
+++ b/bench/Benchmark.h
@@ -111,6 +111,19 @@
      */
     virtual bool isVisual() { return false; }
 
+    /*
+     * VisualBench frequently resets the canvas.  As a result we need to bulk call all of the hooks
+     */
+    void preTimingHooks(SkCanvas* canvas) {
+        this->perCanvasPreDraw(canvas);
+        this->preDraw(canvas);
+    }
+
+    void postTimingHooks(SkCanvas* canvas)  {
+        this->postDraw(canvas);
+        this->perCanvasPostDraw(canvas);
+    }
+
 protected:
     virtual void setupPaint(SkPaint* paint);