ART: Make RuntimeCallbacks unique_ptr

Reduce the transitive closure of headers on runtime.h

Test: m
Change-Id: Ib5a3632c28b08bf07773f217a7ad711c1f12af6b
diff --git a/runtime/runtime.h b/runtime/runtime.h
index 17e0788..f7d6810 100644
--- a/runtime/runtime.h
+++ b/runtime/runtime.h
@@ -40,7 +40,6 @@
 #include "offsets.h"
 #include "process_state.h"
 #include "quick/quick_method_frame_info.h"
-#include "runtime_callbacks.h"
 #include "runtime_stats.h"
 
 namespace art {
@@ -91,6 +90,7 @@
 class OatFileManager;
 class Plugin;
 struct RuntimeArgumentMap;
+class RuntimeCallbacks;
 class SignalCatcher;
 class StackOverflowHandler;
 class SuspensionHandler;
@@ -661,9 +661,7 @@
 
   void AttachAgent(const std::string& agent_arg);
 
-  RuntimeCallbacks& GetRuntimeCallbacks() {
-    return callbacks_;
-  }
+  RuntimeCallbacks* GetRuntimeCallbacks();
 
  private:
   static void InitPlatformSignalHandlers();
@@ -922,7 +920,7 @@
 
   ClassHierarchyAnalysis* cha_;
 
-  RuntimeCallbacks callbacks_;
+  std::unique_ptr<RuntimeCallbacks> callbacks_;
 
   DISALLOW_COPY_AND_ASSIGN(Runtime);
 };