Otherwise the enable_seat callback is never called.
This both simplifies our code and fixes an exec fd leak when using builtin or noop backends.
libseat will never write to that struct. Let's allow callers to make it read-only.
This is useful for headless testing, for instance with VKMS: modprobe vkms export WLR_DRM_DEVICES=/dev/dri/card1 export WLR_BACKENDS=drm export LIBSEAT_BACKEND=noop sway We don't need any of the VT handling in this case.