GJK (Gilbert–Johnson–Keerthi) collision detection algorithm
///|
test {
let s : Polygon = Polygon([Vec2(0, 0), Vec2(0, 2), Vec2(2, 2), Vec2(2, 0)])
let t : Polygon = Polygon([Vec2(0, 0), Vec2(4, 0), Vec2(2, 4)])
let c : Circle = Circle(Vec2(1, 1), 1)
inspect(intersecting(s, c), content="true")
inspect(intersecting(t, c), content="true")
inspect(intersecting(s, t), content="false")
}GJK (Gilbert–Johnson–Keerthi) collision detection algorithm