Using weak gchandles from native to managed

See #15
Garbage collecting safe handles need to queue the uv_close

All of the uv_* calls must be called on the original thread
the finalizer thread cleaning up safehandle classes needs
special handling

see #16