Pagesearch does not show separate cards for every matching item in a thread

The SearchController.refresh() function has been enhanced in a way that it keeps track of already chosen top-level annotations that way for every annotation we check if the root is already added or not. If added we don't have to add it again. This on
Fixes #849