Add "fill region" feature. And a couple of tweaks for S&R behaviour.
Fix typo which caused the denial of a user entered argument.
Handle unicode text properly in view.yank().
Add M-u, M-l, M-c, C-x C-u, C-x C-l. Letter case related functions.
Fix search & replace bug.

Happened if the string you're replacing with contains the one that is being
replaced. There was a silly misuse of local variable and miscalculation of the
cursor position as a result.
When doing local buffer autocompletion, clone byte slice in some cases.

Otherwise it causes a bug when the autocompletion proposal comes from the same
line we're currently editing.
A couple of logic/bug fixes for util functions.
Fix FD leak on file save.
On view split, use the view_location from the view we're splitting.
Save view_location in the buffer on last view detach.
Just dump the view_location from the view to the buffer after each event.

Does what 2 previous commits did, but simpler and it does a bit more. It
allows a simple scenario. Imagine two panels opened (A and B), you move the
cursor in A and then open the buffer of A in B. It properly gets the view
location of A. NIH, fully replicates emacs behaviour.
Don't panic on file open. Error messages still need improving.

Previously if you're opening a directory godit would panic. Now it displays an
error in the status bar and opens an empty unnamed file instead. Some other
file open related panics are eliminated too.
s/recoding/recording
Be aware of wide CJK runes.
Skip unreadable files on filesystem autocomplete.

Previously the function was discarding all the results because of one
unreadable file.
Add doxygen javadoc-style comments, only `///` for now.
Fix fill region mode bug. Select only the first matching prefix.
Fix highlighting bug in region indent mode.
Fix filter_text cursor movement bug.
Don't move cursor unless it's necessary on filter_text.