Fix utf8 backward movement bug. Fixes #22.

Both utf8 movement functions now go beyond border correctly, be it 0 or i_max.
Callers rely on that.
Enable -Wall -Wextra -Wno-unused-parameter on gcc and clang. Fixes #23.

At the moment gcc still generates a bunch of warnings on stb_image.h, but we
can't workaround that easily without modifying the stb_image.h itself, which
is a third party code.