If the colorMod-application is changed to behave this way, beware that there are functions in BaseSurface that change the renderer-state, which should be looked into, as the old behaviour was to apply the current state of that variable here (which mostly was set by drawSprite prior to drawing, but I'm not sure it's the always-case)