Make the icon renderer use sub viewports instead of copying textures
Currently icons is implemented through first rendering to a texture, and then copying the content of the texture to an area on another, larger, atlas texture. The problem with this is that since GPU operations are async we must wait some frames before we issue the copy op. All in all it's a cumbersome setup, since there exists a much better way through the use of sub viewports. Instead of rendering to a dedicated texture we can instead render directly to the atlas texture (i.e. to a subarea of that texture). That will do away with the need for a separate texture and the copy operation completely.