GTK3 Version

This is a complete rewrite (C++/Gtk3).