Add Callback function support (the non-sdl path)

I need to test this on Win32 though since I'm on my laptop now.
It also seems that the notify information given to us by Windows
has different (and fewer) possible values than what we can set in
our notifications filters in ReadDirectoryChanges. wtf? I guess we
should only listen to this smaller subset then?