function pushLine(x0, y0, x1, y1) {
                var mx = (x0 + x1) / 2;
                var my = (y0 + y1) / 2;
                push([x0, x1], [y0, y1], { x: x0, y: y0, cx: mx, cy: my });
              }
@function samePoint
@param {Number} x0
@param {Number} y0
@param {Number} x1
@param {Number} y1
@return {Boolean} true if the two points are sufficiently close

tests if two points are close enough to be considered the same