Let charset tick grow past USHRT_MAX

* charset.c, charset.h (charset_ordered_list_tick):
Now EMACS_UINT, not unsigned short.
* fontset.c (reorder_font_vector): Allow the tick to grow to the
maximum representable Emacs integer value before wrapping it around.
* composite.h (struct composition.width): Now int

instead of unsigned short, as we prefer signed integers.
Fix typo in charset_ordered_list_tick patch