Remove libutils and fix rsDebug for RS support library.

Bug: 9664050

Our bitcode runtime library translates vector rsDebug() calls into passing
their parameters via pointers. The previous version of libRSSupport.so was
being created with non-pointer versions of these routines accidentally.
This change also fixes a missing permission issue for ImageProcessing2, so
that the compatibility library can be verified.

This change also removes the use of libutils by switching the implementation of
String8/Vector in the compatibility library to internal types backed by
libstlport_static.

Change-Id: I20da75e8c19a82a42dc2bceaba1937d21372db84
diff --git a/rsObjectBase.cpp b/rsObjectBase.cpp
index f864bac..c8d7349 100644
--- a/rsObjectBase.cpp
+++ b/rsObjectBase.cpp
@@ -29,6 +29,7 @@
     mNext = NULL;
     mPrev = NULL;
     mDH = NULL;
+    mName = NULL;
 
 #if RS_OBJECT_DEBUG
     mDH = new DebugHelper();
@@ -47,6 +48,8 @@
     mDH = NULL;
 #endif
 
+    free(const_cast<char *>(mName));
+
     if (mPrev || mNext) {
         // While the normal practice is to call remove before we call
         // delete.  Its possible for objects without a re-use list
@@ -62,9 +65,9 @@
 }
 
 void ObjectBase::dumpLOGV(const char *op) const {
-    if (mName.size()) {
+    if (mName) {
         ALOGV("%s RSobj %p, name %s, refs %i,%i  links %p,%p,%p",
-             op, this, mName.string(), mUserRefCount, mSysRefCount, mNext, mPrev, mRSC);
+             op, this, mName, mUserRefCount, mSysRefCount, mNext, mPrev, mRSC);
     } else {
         ALOGV("%s RSobj %p, no-name, refs %i,%i  links %p,%p,%p",
              op, this, mUserRefCount, mSysRefCount, mNext, mPrev, mRSC);
@@ -152,11 +155,14 @@
 }
 
 void ObjectBase::setName(const char *name) {
-    mName.setTo(name);
+    mName = strdup(name);
 }
 
 void ObjectBase::setName(const char *name, uint32_t len) {
-    mName.setTo(name, len);
+    char *c = (char*)calloc(len + 1, sizeof(char));
+    rsAssert(c);
+    memcpy(c, name, len);
+    mName = c;
 }
 
 void ObjectBase::asyncLock() {