Load from memory

Basically replicates half of the code in Load(FILE*) except this allows the user to pass in a buffer.  There are rare situations where fopen() cannot be used and so at best we can offer is to pass in the file dumped into memory.