livesearch: add callback every time the list is filtered and the DOM therefore changes.
Work on DocumentViewer: add push_view, pop_view APIs, refactor, fix menu behaviour.
Updated spec/tests.