Move part of wl_shell specific code into its own file

The goal is to move all of it, and in the future to have a similar
one for xdg_shell. Same thing with wl_shell_surface and xdg_shell_surface.