Ensure Ring does fromInt and Field fromDouble.

In situations where we want to interop with Int and Double, we were
sometimes (all the time for Field) using ConvertableTo, but should use
the proper typeclass instead, as it better matches the semantics we
want.

This also uses macros in more of these places too.