put module thread into namespace thread
thread: simplify class names
thread: decouple pthread via ImplFactory