With the introduction of batymetry polygons I realized that the parsing and cutting of polygons was working on the outer boundary of the polygon, the inner rings were left out.
This patch aims to fix that, though there are some issues with this approach or I'm just missing something. When a bathymetry polygon with some inner rings is cut and then the tile loaded into Marble, the inner rings are not getting rendered, though they are there in the file.