Improve support for pinning processes
When pinning a process to an OS thread, we now also prevent the
corresponding Worker from executing any other processes. This still
allows a process to be suspended (e.g. for garbage collection), while
preventing another process from running on the OS thread. This makes
std::process.pinned
more useful for interacting with thread-local
storage in C.
Because the new approach results in an OS thread only processing a
single process (= the process that was pinned), std::process.pinned
should be used carefully.
Fixes #150 (closed)