Make keyCode undefined when 0

0 is the default but it should really be undefined since the null key wasn't actually pressed.

This was ported over from atom/atom-keymap which recently changed how it handles keyCode/keyIdentifer in https://github.com/atom/atom-keymap/pull/22