start to convert dtwavexfm2 to puer-er opencl

currently x2.56 speedup
opencl: remove some un-necessary host<->device copies

Now at x2.92 speed
opencl: don't initialise output to zero
opencl: re-jib LoLo resizing to be OpenCL friendly

The PyOpenCL array class does not support arbitrary indexing, replace
with a slice-based notation.
use a faster slice-based method in dtwavexfm2
opencl.lowlevel: let to_array take non-CL arrays as a NOP

If to_array() is passed a non-CL array, it returns it straight away.
opencl.transform2d: remove more unnecessary copies

Now at x3.21 speedup.
transform2d: replace list-indexing with slice notation

Replacing Yh[:,:,[0 5]] with Yh[:,:,0:6:5] is slightly faster if a
little more ugly.
opencl.transform2d: use slice notation

The arbitrary A[:,[1,2,3]] style of indexing doesn't work for OpenCL
arrays. Replace it with a slice-notation based version.
opencl.transform2d: use own version of q2c