Activator performance improvement

Shouldn't close the previous PR early. Turns out I did not have to change much of my design.

Pinging previous trackers
@pranavkm
@halter73 
@rynowak
@ipjohnson
@yishaigalatzer 
How about the singleton aspect. We don't want to do new TypeActivator in the services. The only way we can get a Singleton TypeActivator instance in activator utility is via serviceProvider.