Add nofaildefault flag to mark components enabled by default if available
Make Wireplumber in its default configuration start successfully also when logind or DBus user session is not available.
Consider the logind, reserve-device, and flatpak-portal components as optional and enabled by default, but not making Wireplumber fail to start up if not available. However, if they were explicitly enabled in the settings, make Wireplumber startup fail if they cannot be enabled.
Do this by adding a new nofaildefault
component flag that acts as nofail
if
the component dependency setting was not enabled explicitly.
Also adjust Lua Plugin.find so that it returns nil for plugins that are not active,
so that scripts do not have to explicitly check for that explicitly.
Seems tests assume otherwise, so just check plugin enabled in scripts then.
The idea here is to make it easier to just run Pipewire & Wireplumber in any environment, e.g. for automated testing, or on bare-bones Linux distros.