Patches

I like the refactoring you did. While merging with your new code I ran into these two issues.

1) Loading plugins in Xcode (which uses __darwin_dlopen) has paths that include other files via @rpath. From what I can tell, the main executable is supposed to always be part of the context stack, even when calling dlopen.

2) Multiple loads of the same dylibs. It turned out that the lookup path to the MachOMgr didn't quite match the one it was added with later (in my case the file paths had "///" which would later get consolidated by realpath before the dylib was added to the MachOMgr)