[RFC] impl mch_open with libuv

ref #133

update: leaving `mch_fopen` and `fdopen` (pointed out by @aktau below) for another PR.
Using `cppimport` as was done for `sys/stat.h` worked nicely. 

> ffiex. If someone has time to experiment,

That looks great, but we should decide #903 first. In the meantime `cppimport` seems fine. It also seems to have a dependency on gcc/tcc, and reading about its extended support for `/usr/include/` makes me think it won't work at all for MSVC. Is there any major reason your "weak" version would not be workable for MSVC?