fix(injector): allow multiple loading of function modules

move the loadedModules lookup to be performed only on strings in order to allow loading functions that look the same. this issue caused only the first `angular.mock.module(object)` invocation to work since the loadModules lookup blocked all following invocations.

closes #7254
unfortunately, we can't do this.

By making this change, you are saying that an object can be in only one hashmap during its lifetime. That's not the case in apps.

Take a repeater for example. With this change, each repeater would have its own uid range because each repeater has its own hashmap. So if an item is in two repeaters, then id collisions will happen.