wsi/wayland: don't use explicit sync with sw
When using software rendering with the Wayland WSI we should not try to use explicit sync even if it is supported by the compositor. Not only is it not necessary in that case, but the protocol explicitly disallows using it with shared memory buffers.
As a fix, first we modify wsi_configure_cpu_image to not set info->explicit_sync to true for CPU images. However, we still want the implicit_sync parameter in wsi_create_buffer_blit_context to be set to false since CPU images don't need implicit sync either. To ensure that remains so, we add a new field to wsi_image_info tracking the image type, and then only enable implicit sync for DRM images when explicit sync is not supported.
Additionally, we modify wsi_wl_use_explicit_sync to return false when device->sw is true.