Update to work with the latest version of libuv

No API changes on the ruby side of things
* test pass on all rubies
* windows support added

I am planning on changing a few things about the API.
Primarily the requirement to pass in callback blocks for methods like `close` where if no block is passed a default empty callback will be used. No need to create unused objects.

Also I am planning on having the GEM compile and use its own library when it is installed by default.

If you are happy for me to make these changes would it be possible to add me as a contributor?
Also thanks for sharing! I really love the design of the library