Refactored to use lenses

Lenses!  Yeah!
I need to learn more about lenses before it can work quite as well as
the previous one, but the code should be much more readable if you're
at all familiar with lenses now
Updated cabal file

Now using LensPatch for everything
Removed ValuePatch

Don't need it anymore