Element restructuring.  Add support for new basic Element types including the RS objects and vectors(2-4).  In theory this paves the way for maintaining type info for RS objects, passing elements for GLSL uiforms/attribs/varyings, and supporting nested structures.

This will break some apps, checkings for other projects will follow to unbreak them.
diff --git a/libs/rs/rsSimpleMesh.cpp b/libs/rs/rsSimpleMesh.cpp
index f7d14a5..5f5622d 100644
--- a/libs/rs/rsSimpleMesh.cpp
+++ b/libs/rs/rsSimpleMesh.cpp
@@ -62,9 +62,9 @@
         mVertexTypes[ct]->enableGLVertexBuffer(&va);
     }
     if (rsc->checkVersion2_0()) {
-        va.setupGL2(0, &rsc->mShaderCache);
+        va.setupGL2(rsc, 0, &rsc->mShaderCache);
     } else {
-        va.setupGL(0);
+        va.setupGL(rsc, 0);
     }
 
     if (mIndexType.get()) {
@@ -74,6 +74,8 @@
     } else {
         glDrawArrays(mGLPrimitive, start, len);
     }
+
+    rsc->checkError("SimpleMesh::renderRange");
 }
 
 void SimpleMesh::uploadAll(Context *rsc)
@@ -89,6 +91,7 @@
     if (mPrimitiveBuffer.get()) {
         mPrimitiveBuffer->deferedUploadToBufferObject(rsc);
     }
+    rsc->checkError("SimpleMesh::uploadAll");
 }