Multithreaded Training

Moved neural network training to separate thread to prevent lock up of
UI