Time out async hit test queries

This CL adds a timer to RenderWidgetTargeter to detect when a request
has been sent to an unresponsive renderer. When the timer fires, the
following happens:
 - the renderer is tracked as unresponsive so that further queries will
   not be sent there;
 - the event is sent to the parent of the unresponsive renderer if it
   has one;
 - if the main frame is unresponsive, the event is sent there anyway

If a hit test query response is later received from a renderer after the
timer has fired, then that renderer is no longer tracked as
unresponsive and the response is discarded.

Bug: 801043
Change-Id: I854cd3179170367df233bb833fd69d0ff449e6e3
Reviewed-on: https://chromium-review.googlesource.com/865815
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Sadrul Chowdhury <[email protected]>
Commit-Queue: Ken Buchanan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#529941}
13 files changed