Only upsample a TimedArray when necessary

For details, see #332.
Yes, it will return a float but numpy is happy with this and doesn't issue a warning. But it seems to be actually slightly faster to convert to int first.