Codex: Fine-tuned tag search algorithm

By default, levenshtein is case sensitive, so certain matches don't
work quite like they should, particularly because additional automatic
tag substitution is being used (libdoom => Doom).

Now certain case insensitive cases are given decreased cost
(substring, starts with, exact match).