Rewrote class GridViewer as Canvas & Frame subclass (instead of Tk())