Scroll animators should check for page-wide suppression of threaded scrolling.
If an iframe has background-attachment:fixed elements, ScrollingCoordinator sets
main-thread scrolling reasons on the main frame's layerForScrolling(), but not
that of the iframe.
This has the effect of disabling threaded scrolling for the entire page, since
LayerTreeHostImpl checks the entire scroll ancestor chain for main-thread
scrolling reasons.
However, it also means it is not sufficient for ScrollAnimator to only check
WebLayer::shouldScrollOnMainThread() for its own scroller's layer when deciding
whether to run the animation on the compositor thread.
This patch teaches ScrollAnimator and ProgrammaticScrollAnimator to check for
page-wide suppression of threaded scrolling in ScrollingCoordinator, and use the
main thread for the animation in that case.
Ideally ScrollingCoordinator should be refactored to suppress threaded scrolling
on a per-frame basis. This is tracked by http://crbug.com/568901.
Prevent creation of gpu channels with no GPU on x86-64 windows
https://codereview.chromium.org/1575293002 allowed GPU contexts to be created even when the browser can't use the GPU (for use with swiftshader). However, this seems to be causing renderer hangs on x86-64 windows, so disable it there. Swiftshader currently doesn't work on x86-64 anyway, so it won't affect functionality.