added consistent timer

The rendering phase has been separated from the calculation phase so they should match (or closely so) on different machines.

The idea now is that any update in `Boid` will happen exactly every `Flock.step` time (set to `50ms` or every 1/20 or sec). On performant machines the rendering phase might happen more frequently than the position update, whereas in slower machines the opposite is true.

The bottleneck is certainly in `AvoidCollisions`. Commenting that out I can get 100.000 boids happily flying together.