check to see if nav cache is up to date on tap

- WebKit/android/jni/WebViewCore.cpp
- WebKit/android/jni/WebViewCore.h
Add validNodeAndBounds() to determine if the clicked cached
node is good. First check to see if the pointer
to the frame and node still exist in the DOM. If
they do, see if the hit test bounds they point
to is the same as when the cache was recorded.

-  WebKit/android/nav/CacheBuilder.cpp
-  WebKit/android/nav/CachedNode.h
Record the original absolute bounds for later
comparison.

-  WebKit/android/nav/CacheBuilder.h
Make getAreaRect() public so it can be called by
validation.

- WebKit/android/nav/WebView.cpp
Enhance motionUp() with additional validation:
use pointInNavCache() to see if there's a cached node;
wait for message from webkit to see if bounds is unchanged;
then use motionUp() to pass the original or altered click.

This is a two-part change with frameworks/base.

Fixes http://b/2249425
6 files changed