Port to GTK3

This is a fully functioning port to GTK3.

Note that in the DotWindow, the DotWidget instance attribute name has changed from "widget" to "dotwidget" due to name errors. This might break existing DotWindow subclasses.