Fixed a small issue with the event name in the post event.
Fixed hook callback to properly convert and dispatch events with the addition of the start and stop events.
Ported changes for the hook start and stop events from X11 to OS X.
Trying to shoehorn the Posix cleanup solutions into the Win32 thread model with limited success.  There is no way to provide a stop event from the dispatch thread procedure if ExitThread or TerminateThread are used because no pthread_cleanup_push/pop API exists. There is no workaround or alternative to what I am going to refer to as a "gross oversight" in the thread model.  Sure you can cleanup at the end of the LPTHREAD_START_ROUTINE or in the hook_disable() function, but what good does that do you if someone calls ExitThread() or TerminateThread() from your callback and you never fire the stop event? #ItsAFeature
Fixed a few small api breaks.