Clean up ScriptGroup2 implementation

b/19944127

- Adjust ref counting
- Fix value size type in closure creation

Change-Id: I1179d34aa67f845578740e71cc2da4f82419f251
diff --git a/rsScriptGroup2.cpp b/rsScriptGroup2.cpp
index df97c9e..32590f6 100644
--- a/rsScriptGroup2.cpp
+++ b/rsScriptGroup2.cpp
@@ -5,6 +5,12 @@
 namespace android {
 namespace renderscript {
 
+ScriptGroup2::~ScriptGroup2() {
+    if (mRSC->mHal.funcs.scriptgroup.destroy) {
+        mRSC->mHal.funcs.scriptgroup.destroy(mRSC, this);
+    }
+}
+
 void ScriptGroup2::execute(Context* rsc) {
     if (rsc->mHal.funcs.scriptgroup.execute) {
         rsc->mHal.funcs.scriptgroup.execute(rsc, this);
@@ -21,6 +27,8 @@
         rsc->mHal.funcs.scriptgroup.init(rsc, group);
     }
 
+    group->incUserRef();
+
     return group;
 }