further work on new color manipulation code
tweak canvas on_expose_event() handler to avoid unnecessary save/paint/restore