Bugfix #67, load embedded assembly only once

This fixes the duplicate assembly load problem by caching the assembly instance loaded from a given resource. If requests for multiple distinct AssemblyNames would be satisfied from the same resource, they are given the same Assembly instance.

There are probably examples where the correct behaviour is to load distinct instances, but I can't think of any offhand.

The cache dictionary is of type Dictionary of (string, object) instead of Dictionary of (string, Assembly) because I don't currently understand Mono.Cecil well enough to resolve the 'Member 'x' is declared in another module and needs to be imported' error.