Thread::cancel() support

There’s a lot of direct use of system APIs outside of the standard library. Anything that proposes to cause unwinding from those is going to cause massive safety issues. This really should be handled in a more precise use case specific way rather than having an API to just blindly cancel whatever system call is going on at the moment. Plus there’s all sorts of various platform specifics in which system APIs can get cancelled leading to lots of frustrated and annoyed users when it turns out CancelSynchronousIo doesn’t work on something when the unix equivalent cancels just fine.