Get rid of Lifted typeclass by introducing Domain type family

hessianF previously only required Num a, but now requires Floating a
conjugateGradientDescent and conjugateGradientAscent previously only required Fractional a but now requires Floating a
Merge branch 'monomorphize' of https://github.com/alang9/ad
major version bump