This is only tangentially related, but I forked the Arduino host software, ripped out the guts, and turned it into a GCode machine controller. This new software is intended to be control software for a RepRap machine, but it can be used generally as a CNC controller as well.
Its also driver based, meaning that it will parse the gcode, and then call commands on your driver object. What this does is allow it to easily support various electronics, protocols, etc. Right now it only has driver support for our Arduino based gcode interpreter, but in the near future we’ll be adding more drivers to support the next generation Arduino / Sanguino based RepRap firmware.
Cheers, and thanks to all the hardworking devs that have come before me. The Arduino software (and Processing by extension) kicks ass.