When we split the parametric path function in segments, we try to be
clever about when we can assume all the points in an interval will be
invisible. In that case we just stop the iteration.
There might be some cases where this does not work very well.
In that case we need to make sure the position cache error is smaller.
I think an other way would be to interpolate the values, but I am afraid
that might make the code slower.
It is based on a QMap (Qt implementation of red/black tree). That way
we can relatively quickly find the nearest cached position for a given
time.
The get method of the PosCache class uses a dt argument to allow en error
range in the returned value. For the moment I statically set the error
range used to one hour. I guess we could make this smaller without
changing the performance much.