split up GUI main and CLI main, started TSPAlgorithm trait