lua: extension: refactor, add vlc_player support and add new tests
Use a player listener per extension to signal input changes instead of relying on the UI to supply any new input change. This is using one listener per extension so that we can remove it when deleting the extension and be signalled of the first input when attaching the listener the first time.
Also test that the input event is working, along with activate/deactivate.
The MR has first multiple refactor commits that were done to simplify the changeset of the new code, and will be followed by more of those refactors in different locations after the player change.
Fixes #22585 (closed)