Move wl_shell_surface and xwayland functions to their own file

There still are bits to move out of shell.cpp and shellsurface.cpp
but the main work is done.