Add --threads to tests binary, to run non-GPU tests on multiple cores.

On my quad-core laptop I can get about a 3x speedup:
  Debug,   --threads 0  40.99s
  Debug,   --threads 8  14.39s
  Release, --threads 0   8.24s
  Release, --threads 8   2.80s

I also removed some unused Test.{h,cpp} APIs and refactored a little to make
things thread-safer.

BUG=
R=borenet@google.com, djsollen@google.com, scroggo@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/13855007

git-svn-id: http://skia.googlecode.com/svn/trunk@8763 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/GrContextFactoryTest.cpp b/tests/GrContextFactoryTest.cpp
index 80f1418..02b8c28 100644
--- a/tests/GrContextFactoryTest.cpp
+++ b/tests/GrContextFactoryTest.cpp
@@ -11,26 +11,28 @@
 #if SK_SUPPORT_GPU
 #include "GrContextFactory.h"
 
-static void test_context_factory(skiatest::Reporter* reporter) {
-    GrContextFactory contextFactory;
+static void test_context_factory(skiatest::Reporter* reporter,
+                                 GrContextFactory* contextFactory) {
+    // Reset in case some other test has been using it first.
+    contextFactory->destroyContexts();
 
     // Before we ask for a context, we expect the GL context to not be there.
     REPORTER_ASSERT(reporter,
-                    NULL == contextFactory.getGLContext(GrContextFactory::kNative_GLContextType));
+                    NULL == contextFactory->getGLContext(GrContextFactory::kNative_GLContextType));
 
     // After we ask for a context, we expect that the GL context to be there.
-    contextFactory.get(GrContextFactory::kNative_GLContextType);
+    contextFactory->get(GrContextFactory::kNative_GLContextType);
     REPORTER_ASSERT(reporter,
-                    contextFactory.getGLContext(GrContextFactory::kNative_GLContextType) != NULL);
+                    contextFactory->getGLContext(GrContextFactory::kNative_GLContextType) != NULL);
 
     // If we did not ask for a context with the particular GL context, we would
     // expect the particular GL context to not be there.
     REPORTER_ASSERT(reporter,
-                    NULL == contextFactory.getGLContext(GrContextFactory::kNull_GLContextType));
+                    NULL == contextFactory->getGLContext(GrContextFactory::kNull_GLContextType));
 }
 
 
 #include "TestClassDef.h"
-DEFINE_TESTCLASS("GrContextFactory", GrContextFactoryClass, test_context_factory);
+DEFINE_GPUTESTCLASS("GrContextFactory", GrContextFactoryClass, test_context_factory);
 
 #endif