libcaribou: avoid integer overflow
libcaribou: avoid integer overflow

Since Xkb.Desc.{min,max}_keycode and Xkb.SymMap.width are defined
as uchar, for-loops over them with an uchar index may not stop,
if the upper bound is uchar.MAX or the lower bound is 0.

https://bugzilla.gnome.org/show_bug.cgi?id=691463

GNOME/caribou,GNOME/caribou,GNOME/caribou