add support for non-copy-back OpenCL transforms

These patches add in a specialised transform domain signal result type for
OpenCL transforms which holds off on copying the results back to the host until
asked for. The upshot of this is that one should be able to chain future OpenCL
algorithm implementations together with zero back-to-host copy.