WIP Move uv_fs_t to use abstract type and new allocation strategy

We have both parts of the new strategy working: using abstract ctypes
with c-bound accessors! A handful more changes needed to be made to
support this, and I need to add a bit of intermediate cruft that will
be removed soon.

* Add allocation via abstract type! FS is now platform independent!
* libuv_bindings: Removed private types we don't need for the structure.
  Future commits to libuv_bindings will drastically clean it up.
* libuv_accessor_gen: added cruft here. statbuf and bufs until we refactor
  to correctly expose all of FS public fields.
* Added explict type cast to libuv_accessor_gen c functions to silence
  warnings about removing 'const' when the ctypes code calls it.
* Added more fs accessors.
* Test lifecycle correctly showcases a failing closure capture