use std::fill_n to fill gain buffer with samples

Using memset fills the buffer with whatever 1.0 as a double or float has
in its LSB.
use correct argument order with memset()
compare region names case-sensitively
don't use deprecated g_strcasecmp()

It's dependent on the current locale and deprecated, use
g_ascii_strcasecmp() instead.
add cmp_nocase_utf8()

This is like cmp_nocase(), only that it doesn't use toupper(), tolower()
and therefore is agnostic of the current locale, and attempts to compare
strings in a UTF8-aware way (or falls back to ASCII if one of the
strings isn't UTF8-encoded).
compare plugin/creator/category names UTF8-aware
fix const-ness of names array