BF: exception during logger __del__

Use of weak ref and circular reference caused race condition as to
whether weak ref’ed obj would be gc’ed before logger flush completed.
BF: code cleanup
ENH: OSX iohub kb .key and .char mapping done

Please let me know if tis works on kb with numpad OK.

Mapping now is in sync with other OS’s.

All OS kb event .key and .char value calculation now done unless bugs
are found. Will start doing serious testing of Keyboard device itself
(methods, properties).