library: add search filter, setFilter method, filter callback
library: add 'all years' option, adjust year selection behaviour
Year is no longer reset when updating filters,
unless it isn't represented in the new set of docs.