macros: use pref observer for setting enabled state
* no need to check the pref over and over - it will rarely change

(integrated from trunk branch change 0b25fff by Todd Whiteman <toddw@activestate.com>)