I think we could start with what SketchUp does, it's rather simple: It just allows to set a texture image path, a length and a width:
The main Coin object to use is the SoTexture2:
https://grey.colorado.edu/coin3d/classSoTexture2.html If no specific mapping is specified (Coin has also more complex UV mapping tools), each geometry type (cubes, faces, etc) have their own predefined mapping coordinates. So we could basically just start by add 3 new properties (image path, length, width) and add an edit dialog somewhere.
In Draft I also already experimented with what is needed to add texture and scaling to a node, it's actually not hard, it basically works like this (theorical case just to illustrate):
texture = coin.SoTexture2()
texture.filename = "/path/to/some/image.jpg"
texcoords = coin.SoTextureCoordinatePlane()
texcoords.directionS.setValue(length,0,0)
texcoords.directionT.setValue(0,height,0)
separator.addChild(texture)
separator.addChild(texcoords)
I think this would be a good start...