opencl: add zero-allocation fast path for repeated transforms

If the number of levels and the size of the input remains constant then
it is now possible to pre-allocate all of the workspace and output for
the 2D DTCWT with OpenCL.