Handle the case of no underlying node when computing cursor change.

This fixes a regression introduced by r159019.

R=dglazkov
BUG=306919

Review URL: https://codereview.chromium.org/27489002

git-svn-id: svn://svn.chromium.org/blink/trunk@159996 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactor classes related to an event path and merge them into a new class, EventPath.

This is a follow-up patch for r159319 and a continued effort to make a calculation of an event path simpler.
EventPath, which was a *typedef* defined in EventContext.h, is now a separated class.
EventPathWalker and old *EventPath* have gone and been merged into a new EventPath class.

To prevent this patch bigger, I've not moved several static functions in EventRetargeter.
A follow-up patch will move those functions to EventPath.

BUG=305924

Review URL: https://codereview.chromium.org/27516008

git-svn-id: svn://svn.chromium.org/blink/trunk@159997 bbb929c8-8fbe-4397-9dbb-9b2b20218538