Fix for nexus 5 crashing in GL benches

GLBenches do not expect gl state  to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw.  This causes us to bind vertex objects / programs / etc.

This change creates two new virtual methods which are called right before and immediately after timing.

BUG=skia:

Review URL: https://codereview.chromium.org/1379853003
diff --git a/bench/Benchmark.cpp b/bench/Benchmark.cpp
index bf622b0..98fec2e 100644
--- a/bench/Benchmark.cpp
+++ b/bench/Benchmark.cpp
@@ -33,14 +33,22 @@
     return this->onGetSize();
 }
 
-void Benchmark::preDraw() {
-    this->onPreDraw();
+void Benchmark::delayedSetup() {
+    this->onDelayedSetup();
 }
 
 void Benchmark::perCanvasPreDraw(SkCanvas* canvas) {
     this->onPerCanvasPreDraw(canvas);
 }
 
+void Benchmark::preDraw(SkCanvas* canvas) {
+    this->onPreDraw(canvas);
+}
+
+void Benchmark::postDraw(SkCanvas* canvas) {
+    this->onPostDraw(canvas);
+}
+
 void Benchmark::perCanvasPostDraw(SkCanvas* canvas) {
     this->onPerCanvasPostDraw(canvas);
 }