Completely changed the way the MemoryLibrary works

It not uses the file as a simple backing mechanism.