REFACTOR: Move `app-events:main` to `service:app-events` (PR #8152)

AppEvents was always a service object in disguise, so we should move it to the correct place in the application. Doing this allows other service objects to inject it easily without container access.

In the future we should also deprecate this.appEvents without an explicit injection too.


You’ve signed the CLA, eviltrout. Thank you! This pull request is ready for review.