Module for managing DMA memory, using objects for DMA, and creating pools of DMA memory that can
be allocated from. Internally, the DMA functions will interact with the kernel to ensure
stability of physical addresses for DMA memory, and will also ensure proper coherence between
the host and devices.