Fix #459

Note:
XVimString or XVimKeyStroke represents a character input into XVim.
All the input into XVim must be a character (some may be unreadable, or with some modifiers)
On the other hand, in some languages(Portuguese,Spanish), NSEvent does not always generate a character.
For example, two phyisical key input ` and e generates è.
Both key inputs sends NSEvent to an application but first NSEvent does not contain any character in it.
The second NSEvent has a character è.
This fix correctly handles NSEvent without any character correctly.
Since XVimString and XVimKeyStroke must have a character, the conversion such NSEvent into XVimString or XVimKeyStroke return nil.
Thus, when you use the conversion methods you have to know that they may return nil.
Merge branch 'develop' of github.com:JugglerShu/XVim into develop

* 'develop' of github.com:JugglerShu/XVim:
  Convert tab into spaces
  Build debug/release in travice ci
  Trial to use travis ci