Add mixed space support to OpenMP backend

This mainly requires splitting all mixed args into args of their
components before passing them to the plan and to the kernel wrapper.