Allow injections across assemblies

This pull addresses issue #28.

It allows an `[Inject]` type from assembly A to be an entry-point in a module of assembly B.

The cause of the bug was that the weaver's `TypeReferenceComparer` considered different subtypes of `TypeReference` to not be equal, such that `TypeReference` of Foo was not equal to the `TypeDefinition` of Foo.  Removing this check fixes the bug.