refactoring the backend drawing methods

Which leads me to question one for the backend maintainers:
can you support a draw_path method? I"m not sure that GTK and
WX can. I have no idea about FLTK, and QT, but both of these
are Agg backends so it doesn"t matter. All the Agg backends
automagically get these for free. I personally would be
willing to lose the native GTK and WX backends.

Hmm, it looks to me like WX is technically a 'No', but that
MOVETO and LINETO can be easily emulated (wxDC.Line takes a
start and stop position). That might defeat the purpose, but
it's doable. I don't see how to do ENDPOLY/Fill without knowing
the start of the polygon, which makes it seem a whole lot like
draw_polygon() to me. Perhaps I'm missing something obvious,
but it seems like you'd want to keep some state information (pen
attributes, etc) around?

Anyway, I'm definitely OK with not having the pure WX backend.
AFAIK, the only consideration for these is speed, and WXAgg is
already much faster than WX. A significant fraction of the time
to create a WXAgg image is in generating the Agg image, so any
work towards speeding up image rendering will improve WXAgg and
all Agg backends. To me, that seems like the way to go!

--Matt Newville <newville @ cars.uchicago.edu>