We're  gonna be using efilib for debugging so might as well commit it in.
We're passing in size, and a pointer to the pointer so alloc actually works correctly.
Memory map, what's in you!