why not use the text-based G-Code like most other CNC routers?
Would looking at the rep-rap project offer some inspiration? surely what they can do in 3-d can be turned into a 2-d version?
One big difference between additive (depositing) and subtractive (milling) systems is the way you have to adjust the tool paths. It can be a significant software problem. A milling tool isn't a zero-radius needle, and a depositing jet can't produce zero-width material either.