Why isn't limited dissolve working?
The maybe easiest way in this situation is manual stitching:

Just select a single vert from the inside of the circles. 



Then hit GG. That way you enter vertex slide mode. Move the vert towards the outside and put it where both circles intersect. That way you keep angles roughly consistent. The more you zoom in, the more precise it gets.



The rest is stitching stuff together with ALTM. I usually prefer to use merge 'At Last'. Just put the rest of the verts on the newly placed verts.



You could extrude the circles into cylinders and use booleans but it's not worth the hassle, especially since they're already in a single mesh.

If you lose one of the faces, simply clear the selection, select all the verts that belong to it, for example with Circle Select C and then hit F to create the face. 

If the holes are easy enough for Blender to understand, selecting everything and hitting F  will work, too.

https://docs.blender.org/manual/en/dev/modeling/meshes/editing/vertices.html