This is a test to see how ugly it would be to simply make the needed gtk
bindings to tcl so that we can run Pd with a GTK4 front end. This might turn out
to be the best way to support 'wayland' (which linux is migrating to). As of Pd
0.57 this is looking clearly workable, but with a major inconvenience: GTK
itself seems to change its APIs every few years.

the GTK front end is vector based so printing and zooming will now work
much, much better than before.  OTOH on-screen lines are antialiased and appear
blurry.

To test:

make && pd -guicmd ./pdgtk -nrt -stderr test1.pd

Set the PDDEBUG environment variable to enable debugging printout.

or compile with DEBUGGTK or DEBUGTCL for various ad-hoc printout.

It's possible to run and edit patches; the four text boxes plus the bang,
toggle, and VU IEMGUIs work (except for text labels!) are implemented, and a few
classic repertory patches are working.

About 20 of the perhaps 100 or 200 distinct tcl commands used by Pd are
implemented.  Calls with optional flag-like arguemnts, like
   [...] create line [...] -fill #000000
are gradually being replaced by fixed-argument-list versions in the Pd sources
to make front-end parsing simpler, e.g., pdtk_canvas_create_line  .


todo next:
dialog windows
finish replacing "create line" with pdtk_canvas_create_line calls
put in text buffer in main window
fill out menus
scroll and zoom - hijack zoom and handle it on GTK end

ideas:
can some or all of the many dialog windows be re-implemented as Pd patches?
(see how Max does it... this would make it much easier to adapt to any future
GUI implementations.)

