Remove internal element builder and vector code.

Remove additional String8 references from shared includes.

Change-Id: Iede11384b9fc5a303d15d47fd4074c800dc6ad5f
diff --git a/rsProgram.cpp b/rsProgram.cpp
index 7114f29..806d1de 100644
--- a/rsProgram.cpp
+++ b/rsProgram.cpp
@@ -77,7 +77,9 @@
         shaderText += internalTokenLen;
         shaderLength -= internalTokenLen;
     }
-    mUserShader.setTo(shaderText, shaderLength);
+
+    mUserShader = rsuCopyString(shaderText, shaderLength);
+    mUserShaderLen = shaderLength;
 }
 
 Program::~Program() {
@@ -98,6 +100,12 @@
     mHal.state.inputElementsCount = 0;
     mHal.state.constantsCount = 0;
     mHal.state.texturesCount = 0;
+
+    if (mUserShader != NULL) {
+        delete[] mUserShader;
+        mUserShader = NULL;
+    }
+    mUserShaderLen = 0;
 }
 
 bool Program::freeChildren() {
@@ -134,6 +142,9 @@
     mConstants = NULL;
 
     mIsInternal = false;
+
+    mUserShader = NULL;
+    mUserShaderLen = 0;
 }
 
 void Program::bindAllocation(Context *rsc, Allocation *alloc, uint32_t slot) {