Recluster only once per RunLoop run.
Always return a copy of the annotations array,
because uses might call addAnnotation or
removeAnnotation while iterating on annotations
via fast enumeration.