Set time backwards might happen in threaded environments

When using two or more threads using the same timeline, set_time(self, time) might be executed simultaneously by two threads. This might cause time to be set backwards by the latter call. Instead of an error, ignore attempt.

This is not the perfect solution, but is probably good enough.