[FEATURE] Use singletons as appropriate

Implement the singleton interface for all user functions and hooks
and drop usage of the "&" reference operator in all such classes
registrations.

Resolves: #58400
Releases: 1.6
Change-Id: Idb597254200223741f83a3e3c6927d7f05fea103
Reviewed-on: https://review.typo3.org/30506
Reviewed-by: Francois Suter
Tested-by: Francois Suter