Trial to use travis ci
Build debug/release in travice ci
Convert tab into spaces
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
Fix unexpected modification
Merge branch 'develop' into Xcode5Support

* develop:
  Fix unexpected modification
  Fix #459
  Convert tab into spaces
  Build debug/release in travice ci
  Trial to use travis ci
Merge branch 'Xcode5Support' of github.com:JugglerShu/XVim into Xcode5Support

* 'Xcode5Support' of github.com:JugglerShu/XVim:
  fix incorrect variable name that make build failed
  Fix #462
  Fix performance problem in drawRect hook. Old:  - Update all search results(array of NSRange) when text/settings are changed  - add attribut for color for hlsearch in visible rect on demand (on each drawRect) based on the search results  - then draw Now:  - Update all search results and add attribute for color at the same time( for all the range of the text )  - then draw on each drawRect
  Fix memory leaks

Conflicts:
	XVim/XVimWindow.m