Reworking the Tab directive to be more generic: taking expressions both to handle selection behaviour, and to specify active? criteria