compositor: add option to daemonize after socket creation
Daemonization is split instead of using daemon() directly: fork is done early before backends initialization to ensure we don't encounter issues related to threads. The parent waits for the child to complete its initialization and exits. The parent is only notified from the child after the wayland socket is listening and the compositor initialization succeeded.
This option can be useful on systems not relying on systemd for activation.
I'm not sure if this approach is acceptable on a modern linux integration, I guess this is more of an RFC.