[EventDispatcher] Delay instantiation of a service until the respective listener is triggered in ContainerAwareEventDispatcher

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #12007
| License       | MIT
| Doc PR        | no
The very reason for this patch is to prevent preliminary service instantiation. I'm not comfortable with adding a public `getInnerCallable` which suffers exactly from this side-effect.

Then there is already a `WrappedListener` class. I initially was tempted to extract a `WrappedListenerInterface` from there but that would have made the code in `TraceableEventDispatcher` less obvious. Mainly because in that case `getWrappedListener` would have been used for two very different things. Introducing `IntrospectableCallable` without touching the `WrappedListener` also would result in a confusing coexistence of two similar concepts in the same component.