Implement the full logic providing the ability to run, single-step
or suspend each thread separately. This replaces the old code that
propagated the status of first thread to all of them. It uses newer
APIs PT_RESUME/PT_SUSPEND and PT_SETSTEP/PT_CLEARSTEP.
It also uses the PT_SET_SIGINFO call to allow sending signal to a single
thread, in addition to sending it to entire process. Due to API
limitations, sending signal to 1<x<n threads is not supported, neither
is sending two different signals simultaneously.