Allocate memory.
Allocates memory of @size bytes and returns a pointer to the start of the memory allocated.