Record id in the Node. Add __repr__() for both Node and Edge.
Consistently implement is_inside() method (i.e. add impl for Edge).
Implement get_element(x, y) method for Graph & Widget.
Shift+click led to division by 0, use it for zoom out now.

To remind, shift+drag is (still) zoom in to area.
Zoom instead.

Seems more consistent with Shift-drag.