Made GA_Printer robust against exception abort.

GA_Printer is now a context handler.
If used in that way, it will clean up after itself even in the presence of exceptions.

Made all uses of GA_Printer use the "with" form.