generic thread wrapper over boost::thread