Element HAL sturct, script side getters

Change-Id: If98dd4c22bce58dca2c9739c8aee935a2dd0b493
diff --git a/rsElement.h b/rsElement.h
index 04010fa..010c612 100644
--- a/rsElement.h
+++ b/rsElement.h
@@ -28,6 +28,27 @@
 // An element is a group of Components that occupies one cell in a structure.
 class Element : public ObjectBase {
 public:
+    struct Hal {
+        mutable void *drv;
+
+        struct State {
+            RsDataType dataType;
+            RsDataKind dataKind;
+            uint32_t vectorSize;
+            uint32_t elementSizeBytes;
+
+            // Subelements
+            const Element **fields;
+            uint32_t *fieldArraySizes;
+            const char **fieldNames;
+            uint32_t *fieldNameLengths;
+            uint32_t *fieldOffsetBytes;
+            uint32_t fieldsCount;
+        };
+        State state;
+    };
+    Hal mHal;
+
     class Builder {
     public:
         Builder();