Allow a callback to be set on the voronoi tessellation.

The default tessellation just returns a polygon for each cell of the
resulting tessellation. In some cases one might also want to keep
track of the neighbours of a cell.

This change lets one implement its own callback which will be called
for each edge that is found during the tessellation. The callback
will be given the two indices of the sites at both sides of the edge
as well as the two vertices that form the edge