Add support for disabled  as a modifier - Follow on to discussion in PR 996

This should implement disabled without the performance penalty seen with it as a filter.  This adds the concept of Selector modifiers that get to modify the selector expression based on options passed in.  It builds on top of the work in PR 996.  Its all pretty straight forward except for the modifier needed in the link_or_button selector, which is a bit strange because link doesnt support a disabled attribute, and we need to ignore it while still checking for it on button