Case insensitivity move

Moves case out of the TagSet library, so it can behave more
generically. Now all special behavior will be handled by the
ImageLibrary as specific business logic for that module alone.