Implement row-wise splicing in c-contiguous 2d gpuarrays

Even though general support for splicing is more complicated, it is
quite straightforward to allow row-wise splicing in c-contiguous 2d
arrays, which will cover a large number of use cases.