fixed bug in cfb32_fill_rectangle
use c99 syntax for new style struct initializers instead of gcc specific
simplified tolower unsigned char hacks
fixed various sparse warnings
utf8_encode now returns the number of characters copied
simplified code accordingly
made local functions static
fixed shadowing issues
added __attr_printf() attributes for gcc to check printf arguments
use snprintf() instead of sprintf()