Add EventLog handler/formatter to write stuff to the system event log.

There are properties on the handler to set the Source, LogName and some
other details for controlling where and how things are logged.  The
default Level for this logger is a new level, Level.EVENTLOG, which is
999, or one less than SEVERE.  You can set the Level property to
something less and log more stuff.  This new handler makes use of the
Enqueue/Push logic to single thread access to the eventId++ operation.
It would be nice to get a persistent eventId value in too.