Cleans up the dispatchers to use the CMSApplicationInterface rather than the concrete CMSApplication class (the module dispatcher was incorrectly using it already but after #28506 is merged all will be fine there).
Removes duplicated declared properties in ApiDispatcher that were left over from earlier incarnations of the class. Cleaned up a doc block in ApiDispatcher too to correctly reflect why we override the method.
Testing Instructions
Check the Joomla components still load correctly. No changes expected in the interface
Documentation Changes Required
Nothing new - docs will be added when the dispatcher class itself is documented