ustring comparisons within the tight loops were taking a lot of CPU time. By creating collation
keys for the xml classnames (etc) and also for comparison items where appropriate, this string
grinding has been reduced. g_utf8_collate_key is still 64% of program execution, but that is a
significant reduction.
We only care that the string is empty, so we can do the comparison by length and not content.