Move and rename ThreadData::FreeThread() to ThreadEngine::Stop() and document what it does
Move and rename class ThreadData to ThreadEngine::ThreadState