Replace the lib/wasi-types/regenerate.sh shell script with a Rust
implementation.
We already had some Rust fixup code in lib/wasi-types/wasi-types-generator-extra.
This mostly just converts the "wai-bindgen" CLI invokation into Rust
code that uses the wai-bindgen crates as a dependency.
Also moves the .wit files from "wit-clean" to ./schema/wasi and uses the
.wai extension.
The ./schema dir will also hold Wasix-specific definitions in the future.
Because we are very likely to re-use those types in other crates (it
already happens in private repos already), we want to extract the WASI
types from the `wasi` crate.
This patch extracts the `wasi/src/syscalls/types.rs` module into its
own `wasi-types` crate. This new crate takes this opportunity to
classify the numerous types in submodules. All exported public types
are flatten.
What's missing is the documentation, let's address in another round of
PR.