If possible, i would suggest that having a start.gcode and end.gcode implementation would be quite useful. For example i have a procedure to put milling bit on top of the pcb for height adjustment and i normally use that as start.gcode.
Also one part which could be better is to have the moves made at elevated height as a travel speed, faster than the milling speed (at milling depth). Basically to have a travel speed for moving from one polygon to the other (at high Z). This would be neat for non-voronoi paths which generates more travel moves than otherwise.