Search filtering by metadata

This is by no means perfect, but it has a working search query language that can now filter by metadata values, and the scrolling behavior now works a lot better. I'd like to get this merged into master since the topic is getting pretty long.

There are still problems with how it interacts with the pipeline controls, but I think those should be fixed on another topic.