Redesign of DMAs
Following #21 and the merge of layouts in !70 (merged), we need to adapt the DMAs to support layouts. We also need a better understanding of how we want to provide the collection of copy functions between two layouts.
The code currently in data-layouts is quite OK for that, and takes the approach of keeping the dma implementations dealing with raw pointers, and just adding a new version using layouts. This is the easy way out, as it doesn't break anything, but it's also a bit poor in terms of design.
There is also the long standing question of how it's going to look once we add GPU support in there. Do we need to revisit @ndenoyelle 's idea of commandqueue abstraction ?