For circularity you could sample points on the convex hull at regular intervals (angles), compute the centroid and then use the error as measurement of "non-circularity"?
Why's that? The hull would encompass all polygons, so holes or separate shapes shouldn't matter?
I did get the order wrong though: you'd calculate the centroid from the hull vertices, _then_ sample points on the hull.
Indeed, with the convex hull, the polygon will be simple, without holes. It is however possible to imagine multi-polygons that are not circular, but whose convex hull is much more circular. Something very concave. Like a pacman. Or a star. The current algo based on the minimum bounding circle handles those cases.