Enable shadow protocol support for all Wayland clients
The main motivation for this change is to enable support for our proprietary shadow protocol in LayerShellV1Client.
Previously we couldn't move code that handles shadows in WaylandClient because WaylandClient::bufferGeometry() was a pure virtual method.