return Thread object in start method

- allows to write more concise code to start a Thread
Please place this inside the scope of DerivedThread or remove the writeln call entirely. We don't want conflicts when the user uses -unittest.