Make the library more FFI-friendly

Hello,

I'm trying to port pyuv to ctypes so that it'll run in pypy as well as cpython. However, I'm having some real trouble importing the C structs: there seem to be quite a number of conditional defines that are really difficult to replicate in a non-C language.

The proposed patch attempts to fix this by creating wrapper functions on top of each structure's members.