[RFC] impl mch_open with libuv

ref #133

update: leaving `mch_fopen` and `fdopen` (pointed out by @aktau below) for another PR.
Actually, I just realized that libuv probably expects the linux values. But I wonder why it worked on OS X...