Convert to OrigName earlier.

This means we can combine values and types, removing a lot of code and type arguments.
Depend on newer haskell-names.

We need HasOrigName.