Bug 1107297: Only recomposite the damaged rect with D3D11. r=jrmuizel

This patch makes us behave similarly to when we're using the BasicCompositor, essentially we will clip all drawing to the final display to the area that was labeled as invalid. When DXGI 1.2 is available we will then also report the damaged area to the Present call so that can then be used to minimize the amount of bits that actually need to be blitted to the screen. Since we're no longer recompositing the whole screen this means we should also only clear the damaged area of the window.
Bug 1107299: Only block shared surface usage when that is broken. r=jrmuizel

Currently when the usage of surface sharing is broken on certain drivers, be block D3D11 entirely and fall back to Basic composition. There's no real benefit in this case from disabling D3D11 entirely, and we might as well just use it with software composition like we do when we don't have Direct2D, and in addition to that disable texture sharing for webGL, falling back to slow WebGL which again is no worse than the situation when using Basic or D3D9 composition.
Bug 1102499: Use WARP by default when D3D11 is available. r=BenWa

This will cause us to use WARP for composition on systems with Direct3D 11 when hardware acceleration is blacklisted or we're unable to find a powerful enough graphics card. It also allows us to force WARP on, in that situation WARP will also be used for Direct2D content rendering if Direct2D is enabled. Essentially this will ensure all systems running Windows 7 or higher always use D3D11 as their composition backend.