vl/compositor: split shaders and state