Avoid copying the selected edges if all edges are selected, and parallelize gathering the selection otherwise. Also use `int2` instead of `std::pair`. In simple test file I observed an approximate 10% FPS improvement, though in real world cases the impact is probably much smaller.