filter: Filter 2.0 — greater extensibility

This patch rebases filters into a row-based layout and redesigns the filter apply method to be more extensible. It also redesigns the UI to be more dynamic and to allow for actions to be added without database modification and actions can also have complex configurations.