events: Introduce EventProcessor, and EventSource.

EventSource receives events from the native platform (e.g. X11), and dispatches
the event to an EventProcessor. The EventProcessor has access to a tree of
EventTargets, and it uses the appropriate EventTargeter to find the EventTarget
the event should be dispatched to, and then dispatches the event to the target.

More details at the doc linked to at the bug.

This patch also introduces a default implementation for the EventTargeter
interface.

BUG=318879
R=ben@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239047 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239047