Well then why dont you take a complete image of a world map and cut each country out by hand with the help of an image editing program. You can then save each country as a separate image file and load them on run time. Place them (within the application) at the correct locations to form a complete map again. At this point you can either iterate through all pixels to change the RGB values by hand or read into blending and alpha composites to do the coloring.
Alternatively if you want to use things like OpenGL the color part would become easier but everything else would be a little bit more tricky.
In any case you will not get around writing your own renderers unless you are lucky and find a library out there which does exactly what you need.