Normalize all words to lowercase.

Solver now works with mixed case input, and generates fewer equivalent
outputs, since solutions which only differ in case are considered the
same.