This merge includes the fix for bug 583109 - Add visibility notifications for plugins, so that asynchronous painting can be suspended when plugins are not visible. This collaterally fixes bug 606285, hulu homepage doesn't paint with async layers.
This changeset only implements asynchronous painting for out-of-process plugins. In-process painting will be implemented as a followup. Note that it is still possible to disable asynchronous layers on Windows by setting the preference mozilla.plugins.use_layers to false, but my intention is to remove this preference and sync-painting codepaths soon in a followup.
This patch was created by running the following sed commands:
s/MOZ_WIDGET_TOOLKIT=="\(gtk2\|cocoa\|qt\|windows\)"/\1Widget/g
s/MOZ_WIDGET_TOOLKIT!="\(gtk2\|cocoa\|qt\|windows\)"/!\1Widget/g
on all *.list files in the tree.