Add a new globals object for PPAPI tracking information.

[ Reland of 106142: http://codereview.chromium.org/8316008 ]

This adds a specialization on the host and plugin side of the proxy. This
replaces the ad-hoc singleton tracking done by the resource and var trackers
with just being getters on this global object.

Most code can use the single PpapiGlobals class. I also allow code to get the
host and plugin specializations since some code needs access to some specific
features of each side.

In a later pass I'll move the other stuff out of TrackerBase and delete it.

TEST=none
BUG=none
Review URL: http://codereview.chromium.org/8344025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106537 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/proxy/ppb_audio_proxy.cc b/ppapi/proxy/ppb_audio_proxy.cc
index 453d7b0a..f1aedf71 100644
--- a/ppapi/proxy/ppb_audio_proxy.cc
+++ b/ppapi/proxy/ppb_audio_proxy.cc
@@ -16,6 +16,7 @@
 #include "ppapi/proxy/plugin_dispatcher.h"
 #include "ppapi/proxy/ppapi_messages.h"
 #include "ppapi/shared_impl/audio_impl.h"
+#include "ppapi/shared_impl/ppapi_globals.h"
 #include "ppapi/shared_impl/resource.h"
 #include "ppapi/thunk/ppb_audio_config_api.h"
 #include "ppapi/thunk/enter.h"
@@ -64,11 +65,11 @@
     : Resource(audio_id),
       config_(config_id) {
   SetCallback(callback, user_data);
-  PluginResourceTracker::GetInstance()->AddRefResource(config_);
+  PpapiGlobals::Get()->GetResourceTracker()->AddRefResource(config_);
 }
 
 Audio::~Audio() {
-  PluginResourceTracker::GetInstance()->ReleaseResource(config_);
+  PpapiGlobals::Get()->GetResourceTracker()->ReleaseResource(config_);
 }
 
 PPB_Audio_API* Audio::AsPPB_Audio_API() {
@@ -77,7 +78,7 @@
 
 PP_Resource Audio::GetCurrentConfig() {
   // AddRef for the caller.
-  PluginResourceTracker::GetInstance()->AddRefResource(config_);
+  PpapiGlobals::Get()->GetResourceTracker()->AddRefResource(config_);
   return config_;
 }