Added scheduler + multithreading! (access violation on scheduler destruction, still race conditions in actual simulation, too tired to sort that now)