Make it easier to catch wrong backend or uninitialized errors related to context, buffer and kernels with a DEBUG compile.
Add a size property to the buffers.
Add first pass of a transfer function to move data between contexts.
Expose the transfer function at higher layers.