Ownership of layouts in DMAs
The current DMA design has the user keep ownership of the layout objects when creating a DMA request. This requires that the user keeps the pointer alive until the request is completed.
This might become a problem if we implement structures that can generate layouts on the fly...like tilings.
One solution is to have DMAs copy the layouts internally. Note that this require a new generic copy-constructor in the layout API.