Tool: change how certain attributes are declared

This uses the new extensible key/value pair list of @Plugin, rather than
relying on the alwaysActive and activeInAppFrame boolean attributes
which were tool-specific.