Persist search and groupBy in query parameters
This simply pushes and reads the search / groupBy to the query
parameters. Moved the filter parsing logic to a separate function in
order to reuse it (wanted to keep the route
logic in the page, rather
than having it in the filter as well).