Added AURA_DEVICE_FUNCTION macro

This macro is used to indicate a non-kernel-function that can run in the
device.
Complex numbers cfloat_t and cdouble_t

These two files add float and double complex number types that can be
used both with OpenCL and CUDA.