Updates V8 version of JavaInstance to use RefCounted, rather than implementing custom ref and deref methods.

Change-Id: I9cc775224edcda65884461eaf0f4ff7efb5922be
diff --git a/V8Binding/jni/jni_instance.cpp b/V8Binding/jni/jni_instance.cpp
index 6b83764..657b8c4 100644
--- a/V8Binding/jni/jni_instance.cpp
+++ b/V8Binding/jni/jni_instance.cpp
@@ -42,7 +42,6 @@
 {
     _instance = new JObjectWrapper(instance);
     _class = 0;
-    _refCount = 0;
 }
 
 JavaInstance::~JavaInstance () 
diff --git a/V8Binding/jni/jni_instance.h b/V8Binding/jni/jni_instance.h
index 94706c8..f8b0d65 100644
--- a/V8Binding/jni/jni_instance.h
+++ b/V8Binding/jni/jni_instance.h
@@ -30,6 +30,7 @@
 #include "jni_utility_private.h"
 
 #include <JavaVM/jni.h>
+#include <wtf/RefCounted.h>
 #include <wtf/RefPtr.h>
 
 namespace android {
@@ -67,19 +68,12 @@
     jmethodID mWeakRefGet;  // cache WeakReference::Get method id
 };
 
-class JavaInstance
+class JavaInstance : public RefCounted<JavaInstance>
 {
 public:
     JavaInstance(jobject instance);
     ~JavaInstance();
 
-    void ref() { _refCount++; }
-    void deref() 
-    { 
-        if (--_refCount == 0) 
-            delete this; 
-    }
-
     JavaClass* getClass() const;
 
     bool invokeMethod(const char* name, const NPVariant* args, uint32_t argsCount, NPVariant* result);
@@ -92,7 +86,6 @@
 
 private:
     RefPtr<JObjectWrapper> _instance;
-    unsigned int _refCount;
     mutable JavaClass* _class;
 };