add try block in backend_gtk.py

added block around `draw` in `idle_draw` which can raise an
exception and will leave the window in a bad state.
added try block to backend_gtk3.py

Added try block around `draw` in `idle_draw`.  If `draw`
raises an exception the figure is never marked idle again and
pyplot functions will not work as expect.
added try block in backend_tkagg.py

Added try block around `draw` in `idle_draw`.  If `draw`
raises an exception the figure is never marked idle again and
pyplot functions will not work as expect.