Add libuv eventloop + filesystem

Took @chobie's implementation of libuveventloop
Implemented libuvfilesystem


ISSUE:

removeStream() fails, since libuv doesn't handle streams the same way libev does. You cannot open two streams on one input, it's only one stream with different flags. So, these lines

```code:php
        $this->loop->addReadStream($input, $this->expectCallableOnce());
        $this->loop->addWriteStream($input, $this->expectCallableOnce());
```

basically come to calling:
- uv_poll_init() to init a stream.
- uv_poll_start() with UV::READABLE flag to start a read stream
- uv_poll_start() with UV:WRITABLE flag to start a write stream.

The matter is that addReadStream()'s callback never gets called. 

People from libuv's IRC channel suggested me to use uv_stop(), in this way:
- uv_poll_init() to init a stream.
- uv_poll_start() with UV::READABLE flag to start a read stream
- uv_poll_stop() to stop the stream, while making sure to save the flags from current poll
- uv_poll_start() with both UV::WRITABLE and UV::READABLE flags to start a new read/write stream.

But the issue's still here, since addReadStream()'s callback still never gets called.

What should I do about it ?