UV painting within Blender?
I would suggest a 2 step process.

In edit mode select all the faces you want of one color. Then in texture pain mode. click the button in between the layers and the shading mode buttons. Its tool tip says Face selection masking for painting That will limit the area allowed to be painted, to only what is selected.

Then after you have the base colors down. Open the newly painted image in gimp/photoshop and paint in all your shading and details.