Threading: Thread a little

+ Thread thread thread
Threading: Thread more

* Put RNG in its own class and thread hard
Use good things

+ Use good algorithm (actual prim-dijkstra)
+ Use good data structure (std::priority_queue)