Add a Tkinter canvas based simulator.

Fixes #43.