Feature: #97188 - New registration for element browsers

See forge#97188

Description

The system extension backend provides different element browsers, such as the "File browser" or the "Database browser" to select files and records in e.g. FormEngine fields. Extension authors are able to register their own browsers. This was previously done using global configuration.

However, since all element browsers have to implement the ElementBrowserInterface, this fact is now used to automatically register the element browsers, based on the interface, if autoconfigure is enabled in Services.yaml. Alternatively, one can manually tag a custom element browser with the recordlist.elementbrowser tag (see section "Migration" in the breaking changelog).

Due to the autoconfiguration, the identifier has to be provided by the class directly, using the now required getIdentifier() method. When extending \TYPO3\CMS\Backend\Browser\AbstractElementBrowser it's sufficient to set the $identifier class property.

Impact

element browsers are now automatically registered through the service configuration, based on the implemented interface.