compositor: initial desktop_shell_window implementation