compositor: implement fullscreen surfaces