Make sure to hide the c_code for GpuElemwise.
Update to the new signature for new_GpuArray().
Add optimisations for GpuDimShuffle and SpecifyShape.
Make sure to properly hide the tensro C implementations.
Make local_dimshuffle_lift work with subclasses for DimShuffle.
Make HideC actually work.
Replace Alloc by a shell around the tensor one.
Make sure to sync a GpuArray before passing it on as a CudaNdarray.
Add a config variable to force ops to work synchronously.
Add a pretty print for GpuArrayType.
Fix DeepCopyOp C code.
In response to pygpu change:
GpuArray_default_context() -> pygpu_default_context()
Rework op_lifter to cover more cases and add some new op optimizations.
After discussion, remove the wrapper thing since this is contrary to the direction we want.

This reverts commit 326b84115cc08ff9a2539e7ffd15d8ec840677ca.
Remove traces of the wrapper from GpuArrayType.
Use faster version of the GPU -> host copy.
Add c_code() to GpuAlloc().
Add a Gpu version of the reduction op (only supports add and multiply for now).
Add optimization to replace CAReduce by their GPU versions.
Follow the rename in pygpu.