Fix microsecond precision of Time#at_with_coercion

When `Time.at_with_coercion` (wraps `Time.at`) is called with a single
argument that `acts_like?(:time)` it is coerced to integer thus losing
it's microsecond percision.

This commits changes this to use `#to_f` to prevent the problem