generalize. more reusable. more capable.

I made all of this so that I can more easily make specialized gcode for
the Koike to use in cutting foam, a home-made secondary Koike function.
The biggest thing that this code adds over my simple, one-off
generators, is the ability to generate an svg representation of the
gcode so that I can easily visualize the tool path before loading the
gcode into the machine.  It works pretty well.  the 'arcto' function has
been buggy and probably still is. There are some things that are less
transparent then I would like to them be.  I may never touch this again,
but who knows.