fix Canvas widget
get most of the basic functionality for interacting with TextBuffers; replace staticstring() with Gtk.bytestring()