nextVertexToAdd () {
    if (!this.claimed.isEmpty()) {
      let eyeVertex, vertex
      let maxDistance = 0
      const eyeFace = this.claimed.first().face
      for (vertex = eyeFace.outside; vertex && vertex.face === eyeFace; vertex = vertex.next) {
        const distance = eyeFace.distanceToPlane(vertex.point)
        if (distance > maxDistance) {
          maxDistance = distance
          eyeVertex = vertex
        }
      }
      return eyeVertex
    }
  }
Finds the next vertex to make faces with the current hull

- let `face` be the first face existing in the `claimed` vertex list
 - if `face` doesn't exist then return since there're no vertices left
 - otherwise for each `vertex` that face sees find the one furthest away
 from `face`

@return {Vertex|undefined} Returns undefined when there're no more
visible vertices