Refactor the compilers out of libart.

This builds three separate compilers and dynamically links with the right one
at runtime.

Change-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b
diff --git a/src/common_test.h b/src/common_test.h
index dfee9b9..7da5c77 100644
--- a/src/common_test.h
+++ b/src/common_test.h
@@ -355,7 +355,7 @@
     compiler_->GetCompilerLLVM()->SetElfFileName("gtest");
 #endif
 
-    Heap::VerifyHeap();  // Check for heap corruption before the test
+    Runtime::Current()->GetHeap()->VerifyHeap();  // Check for heap corruption before the test
   }
 
   virtual void TearDown() {
@@ -398,7 +398,7 @@
     compiler_.reset();
     STLDeleteElements(&opened_dex_files_);
 
-    Heap::VerifyHeap();  // Check for heap corruption after the test
+    Runtime::Current()->GetHeap()->VerifyHeap();  // Check for heap corruption after the test
   }
 
   std::string GetLibCoreDexFileName() {