Rewrote the virtual memory manager to be more robust and less error prone, changed some macros around and fixed the loader to correctly read large files