Adds support for multi-input kernels to Frameworks/RS.

This patch modifies Frameworks/RS in the following ways:
* Adjusted the data-layout of the C/C++ version of RsForEachStubParamStruct to
  accommodate a pointer to an array of input allocations and a pointer to an
  array of stride sizes for each of these allocatoins.
* Adds a new code path for Java code to pass multiple allocations to a RS
  kernel.
* Packs base pointers and step values for multi-input kernels into the new
  RsForEachStubParamStruct members.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
diff --git a/cpu_ref/rsCpuScript.h b/cpu_ref/rsCpuScript.h
index 666379d..f4ca1ed 100644
--- a/cpu_ref/rsCpuScript.h
+++ b/cpu_ref/rsCpuScript.h
@@ -76,6 +76,14 @@
                        const void * usr,
                        uint32_t usrLen,
                        const RsScriptCall *sc);
+
+    virtual void invokeForEachMulti(uint32_t slot,
+                                     const Allocation** ains,
+                                     uint32_t inLen,
+                                     Allocation* aout,
+                                     const void* usr,
+                                     uint32_t usrLen,
+                                     const RsScriptCall* sc);
     virtual void invokeInit();
     virtual void invokeFreeChildren();
 
@@ -95,6 +103,11 @@
     void forEachMtlsSetup(const Allocation * ain, Allocation * aout,
                           const void * usr, uint32_t usrLen,
                           const RsScriptCall *sc, MTLaunchStruct *mtls);
+
+    void forEachMtlsSetup(const Allocation ** ains, uint32_t inLen,
+                          Allocation * aout, const void * usr, uint32_t usrLen,
+                          const RsScriptCall *sc, MTLaunchStruct *mtls);
+
     virtual void forEachKernelSetup(uint32_t slot, MTLaunchStruct *mtls);