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/BitmapRegionDecoderBench.h b/bench/BitmapRegionDecoderBench.h
index 7be770f..4f4d55e 100644
--- a/bench/BitmapRegionDecoderBench.h
+++ b/bench/BitmapRegionDecoderBench.h
@@ -34,7 +34,7 @@
     const char* onGetName() override;
     bool isSuitableFor(Backend backend) override;
     void onDraw(const int n, SkCanvas* canvas) override;
-    void onPreDraw() override;
+    void onDelayedSetup() override;
 
 private:
     SkString                                       fName;