Timebin optimization
This implements a change to the active/inactive checks following @jwillis' remark that the code was a bit slower than in the old master he was working on.
The idea is to pre-compute the largest active time-bin and then use this information to decide whether act on particles or not. The old scheme was computing the end-time of the particle which involves a lot more information for the same result.