perf(DirectiveRef): Cache DI keys

@jbdeboer could you please benchmark this ? I'd like to know if it has a significant impact on perf & memory