Add a select by expression dialog.
Allow to change the current selection based on a QgsExpression
* Select (clear and select)
* Add to selection
* Remove from selection
* Select within selection (Intersect)
Add indexable vector layer cache
Major redesign of attribute table, codename: dual view
Add tests for attribute table / dual view