Draw visualization to screen, called on every update or when it's requested from outside the program.
Handle a mouse click. If an object was clicked an
UpdateSignal is sent
that causes the object to be evaluated and the screen to be updated.
Handle a mouse move. Causes an
UpdateSignal if the mouse is hovering a
different object now, so the object gets highlighted and the screen