Don't break too soon in ansi_print so that all color codes get printed
Add tests for ansi_print
Allowed word boundaries for motion and completion to be different

For instance, one wants to treat "foo.bar" as two words while moving,
but when hitting "foo.bar<tab>" one expects "foo.bar" to be treated as
the expression being completed
Version bump to 0.5.0