Extracted Library out of LibraryLoader.

Reworked the classes by the way. For instance, I removed ModuleLoader (even though it was my idea), because it's an abstraction that can be easily extracted if needed.
Also I got rid of error variabled, which should be duplicated in both classes now. I added appropriate exception types instead, it looks cleaner that way.