Initial code commit

Added all the initial code and test cases. We are able to generate
kernels for both CUDA and OpenCL.