unix, windows: allow NULL async callback

Allow a NULL callback so the user doesn't have to provide a dummy when
the actual event is processed by e.g. a check handle callback.
build: apply dtrace -G to all object files

fixes #871
darwin: fix indentation in uv__hrtime()
darwin: create fsevents thread on demand

* Move CF run loop code to fsevents.c.

* Create the fsevents thread on demand rather than at startup.

* Remove use of ACCESS_ONCE. All accesses to loop->cf_loop are
  protected by full memory barriers so no reordering can take place.

Fixes #872.
darwin: reduce fsevents thread stack size

The fsevents watcher thread only needs a minimal amount of stack space
in order to run. Restrict its stack size so there's more address space
left for the libuv user.