Add ArrayHandleImplicit which uses a user defined worklet.
Add a unit test for array handle implicit with cuda backend.

Verify that we can pass Implicit Handles to worklets.
Merge branch 'implicit_handle'
Add in ArrayHandleTransform.

You now can apply a functor to an array handle to allow basic fusing
and delayed construction of values.
Add in a explicit cuda test for ArrayHandleTransform.

We need to verify that everything works properly when methods are marked
up with __device__ and __host__
Add an example of fusing multiple transform handles together.