Better handling of preference change.

FF will cache the added shader element so if we change our preference
for the opacity and reload, the element has to be re-freshed.
We can't abort just because it exists.