 be done within a 'with' block to allow the watcher to suspend
its activity until the new process if fully registered (this is needed to
prevent a race condition in some implementations).

Example:
    with watcher:
        proc = subprocess.Popen("sleep 1")
        watcher.add_child_handler(proc.pid, callback)

Notes:
    Implementations of this class must be thread-safe.

    Since child watcher objects may catch the SIGCHLD signal and call
    waitpid(-1), there should be only one active object per process.
Nc