I don't mind making the change, but since RendererMac is only instantiated in one place (FigureCanvasMac.__init__), it seems like extra complexity.  The renderer's canvas would get set immediately after constructing it.