CircumCenter = function (triangle, out) {
    if (out === undefined) { out = new Vector2(); }

    var cx = triangle.x3;
    var cy = triangle.y3;

    var ax = triangle.x1 - cx;
    var ay = triangle.y1 - cy;

    var bx = triangle.x2 - cx;
    var by = triangle.y2 - cy;

    var denom = 2 * det(ax, ay, bx, by);
    var numx = det(ay, ax * ax + ay * ay, by, bx * bx + by * by);
    var numy = det(ax, ax * ax + ay * ay, bx, bx * bx + by * by);

    out.x = cx - numx / denom;
    out.y = cy + numy / denom;

    return out;
}
Computes the circumcentre of a triangle. The circumcentre is the centre of
the circumcircle, the smallest circle which encloses the triangle. It is also
the common intersection point of the perpendicular bisectors of the sides of
the triangle, and is the only point which has equal distance to all three
vertices of the triangle.

@function Phaser.Geom.Triangle.CircumCenter
@since 3.0.0

@generic {Phaser.Math.Vector2} O - [out,$return]

@param {Phaser.Geom.Triangle} triangle - [description]
@param {Phaser.Math.Vector2} [out] - [description]

@return {Phaser.Math.Vector2} [description]