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/space_test.cc b/src/space_test.cc
index eb4fa86..16ffb08 100644
--- a/src/space_test.cc
+++ b/src/space_test.cc
@@ -75,7 +75,7 @@
   ASSERT_TRUE(space != NULL);
 
   // Make space findable to the heap, will also delete space when runtime is cleaned up
-  Heap::AddSpace(space);
+  Runtime::Current()->GetHeap()->AddSpace(space);
 
   // Succeeds, fits without adjusting the footprint limit.
   Object* ptr1 = space->AllocWithoutGrowth(1 * MB);
@@ -117,7 +117,7 @@
   ASSERT_TRUE(space != NULL);
 
   // Make space findable to the heap, will also delete space when runtime is cleaned up
-  Heap::AddSpace(space);
+  Runtime::Current()->GetHeap()->AddSpace(space);
 
   // Succeeds, fits without adjusting the max allowed footprint.
   Object* lots_of_objects[1024];
@@ -309,7 +309,7 @@
   EXPECT_EQ(space->NonGrowthLimitCapacity(), capacity);
 
   // Make space findable to the heap, will also delete space when runtime is cleaned up
-  Heap::AddSpace(space);
+  Runtime::Current()->GetHeap()->AddSpace(space);
 
   // In this round we don't allocate with growth and therefore can't grow past the initial size.
   // This effectively makes the growth_limit the initial_size, so assert this.