We don't want this impl anymore, because the user should be forced to
supply the virtual task manager manually so they are cognizent of the
fact they WASIX is running on an async runtime.
* A new TaskStatus is introduced that specifies the current state of a task
(usually a process or thread)
* Status tracking is refactored to use tokio::sync::watch instead of a
homegrown solution which combined channels and mutexes
* The task status now not just tracks an exit code, but also the ocurred error
This helps consumers of the task status to know that and error
ocurred, and which one, which helps debugging / logging and potential
recovery
* Remove the unused VBUS crate leftover types and traits
Almost all gone, except for the VirtualBusError
* Move SignalHandlerAbi types to os::signal
- Implemented multi-threading for both JS and SYS, plus other WASIX implementations
- Added a longjmp capability required for bash and other WASIX implementations
- Added real signals to WASIX
- Added a stack unwinding and winding functionality
- Implemented memory forking which will be used for process forking
- Added the ability to fork the current process
- Added the vfork functionality
- Moved over to the WasiPipe implementation
- Added more syscalls needed for bash on WASIX
- Ported wasmer-os into wasmer
- Added a union file system and the character devices
- Moved the cursors to the file handles rather than the file so that they are multithread safe and can handle concurrent IO
- Reimplemented the poll_oneoff functionality to support full ASYNC
- Added support for mapping directories in the host file system into WASIX sandbox file systems
- Implemented fully ASYNC sockets and emulated ASYNC files
- Made the file locks more granular to allow for concurrent poll and accept operations
- Fixed a race condition on the event notifications