Optimized OBJ Loader

Moved from O(N^2) algorithm to O(NlogN). Before it couldn't handle
anything more than a few thousand polygons before hanging; now it can
handle up to around a million within reasonable time.