Fix Time#change when used with :usec and offset times

This is a follow-up of #16758 and the branch is based on it.

Fixes #16759.
No it doesn't. We should take into account only one of the two values (in case both are provided) and ignore the other one, right? Like so:

    new_usec = new_nsec.to_r / 1000 if new_nsec != 0 # ignore :usec and only use :nsec
    # or the opposite...

Would it be expected for them to be added together, if both options are provided? Not sure.