Usually this sort of thing is done in the context of PCBs — list (including the app you mentioned) at: https://wiki.shapeoko.com/index.php/CAM#Leveling — I believe bCNC has this as a native option, but it converts G2/G3 arcs into short line segments.