Add support for the GLX_EXT_buffer_age extension on hardware that supports it, which should result in a nice speed-boost due to the fact that we no longer have to abuse fillrate by retaining old frame contents, and instead asking the driver how defined the current frame is.

Added external API for plugins to register their own damage tracking objects - with a callback as to whether or not to track the specified damage. This allows plugins that rely on both the retrospective and new damage to the framebuffer to ignore feedback caused by their old damage events.

(LP: #1024304)
Merge lp:compiz
Placement temp
Merge lp:compiz
Merge lp:compiz
Merge lp:compiz
Merge lp:compiz
Fix typo
We reset the frame provider at the end of glXInitContext, no need to do
it before that in the GLES case
Revert unrelated changes, unrevert some unintentional changes to
window.cpp
Merge lp:compiz
Merge lp:compiz
Merge lp:compiz
Revert introduction of PAINT_WINDOW_NO_DRAW_MASKS. It isn't entirely
relevant here.
Merge lp:compiz
Rename addOverdrawDamageRegion to recordDamageOnCurrentFrame and tidy
up some formatting
Allow an empty callback argument to getDamageQuery. Makes the plugin API
simpler
Merge lp:compiz
img* plugins code cleanup (please see main commit message for details)
Merge lp:compiz