Add conversion functions

I added some functions to move dimensional values from one numeric type to another.

See what you think an appropriate warning would be in the documentation of `convertWith`, because if you supply it with something that isn't "essentially" the identity function on numbers it can break the dimensional abstraction.

I added `convert` to hopefully eliminate most of the need for `convertWith`. Perhaps the dimensional prelude should not re-export the latter?