I believe shaders are good way for this. Make image in Krita in layers and save each layer as separate image. Each image will be texture of Sprite, and each of those Sprites will have the same shader. Shader will colour only active element in chosen patter based on passed global_mouse position.
PS. What an assholish application in this link. They would even border colouring book palette for children to 6 colours.... what is this, Pay2Paint ?