feat(engine): api service access from delegation code

Makes it possible to access the process engine public API (services)
from the following delegation code:
* Java Delegate
* Execution listener
* Task listener

The process engine does not create a new command context when invoking the inner
command but instead reuse the existing command context (unless the inner command
runs through the REQUIRES_NEW chain).