chore(DI): update to v3.1.1+

**Commit comment**
```
This is a breaking change: all classes that are instantiated via the DI
should be annotated (with one of @Injectable, @Component, @Decorator or
@Formatter).

Before this PR, the annotation were not enforced and the code could
break while switching to the static version of the DI because of a
missing annotation.

The impact on user code should be very limited as non-annotated classes
would not have worked before anyway. The error message is now clearer.

**Notes**

A side effect of this PR is that classes that were used only via the dynamic injector (during tests) should now have the `@Injectable` annotation.

While this is something we could change by updating the DI, I actually find the code clearer because it becomes easier to know which class might get injected.