Start parsing text objects and implement 'dw' command.

Follow the same model as 'i'/'a', where we use onExit() to perform intended
action (in this case, transforming text object to cursor range and running
specified modifier function)
Merge branch 'textobjects'

Conflicts:
	buffer/cursor.go
	editor/normal.go
	editor/textobject.go
Add vigo binary to .gitignore