DM: also run benches once.

Also:
  - make GrMemoryPoolBenches threadsafe
  - some tweaks to various DM code
  - rename GM::shortName() to getName() to match benches and tests

On my desktop, (289 GMs, 617 benches) x 4 configs, 227 tests takes 46s in Debug, 14s in Release.  (Still minutes faster than running tests && bench && gm.)  GPU singlethreading is definitely the limiting factor again; going to reexamine whether that's helpful to thread it again.

BUG=skia:
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/178473006

git-svn-id: http://skia.googlecode.com/svn/trunk@13603 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMUtil.h b/dm/DMUtil.h
index a791649..faa4e39 100644
--- a/dm/DMUtil.h
+++ b/dm/DMUtil.h
@@ -1,6 +1,7 @@
 #ifndef DMUtil_DEFINED
 #define DMUtil_DEFINED
 
+#include "SkBenchmark.h"
 #include "SkBitmap.h"
 #include "SkString.h"
 #include "gm_expectations.h"
@@ -15,8 +16,10 @@
 // Draw gm to picture.  Passes recordFlags to SkPicture::beginRecording().
 void RecordPicture(skiagm::GM* gm, SkPicture* picture, uint32_t recordFlags = 0);
 
-// Prepare bitmap to have gm draw into it with this config.
+// Prepare bitmap to have gm or bench draw into it with this config.
+// TODO(mtklein): make SkBenchmark::getSize()/GM::getISize() const.
 void SetupBitmap(const SkColorType, skiagm::GM* gm, SkBitmap* bitmap);
+void SetupBitmap(const SkColorType, SkBenchmark* bench, SkBitmap* bitmap);
 
 // Draw picture to bitmap.
 void DrawPicture(SkPicture* picture, SkBitmap* bitmap);