[WIP] CUDA Support

CUDA support is in for strided assignment kernels, and everything needed to make that work (a lot).