feat(directive-injector): detect and throw on circular deps

The maximum depth for depth for dependency resolution is set to 50.
No performance degradation observed on tree benchmark.
minor:
```
  if (_resolving_depth-- == 0) {
     throw new DiMaxResolvingError(k);
  }
```