Let gesture & touch event LatencyInfo have different trace_id

LatencyInfo's trace_id is the unique ID for LatencyInfo's ASYNC
trace event shown in the about://tracing. When input event reaches
RWHI, ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT is inserted into
event's LatencyInfo, and the latency component's component sequence
number is used as the LatencyInfo's trace_id. ASYNC_BEGIN event with
the trace_id is emitted also.

The problem is that one touch event can generate multiple gesture
events, so if the gesture event inherits touch event's LatencyInfo
trace_id, there could be multiple gesture events LatencyInfo emitting
ASYNC_END with the same trace_id.

In this CL we do the following: if touch event's LatencyInfo does
not end at render side, end it at browser side. Copy the touch
event's LatencyInfo into gesture events' LatencyInfo. Clear gesture
events' LatencyInfo trace_id and remove the
ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.
So when gesture event passes through RWHI, it will have its own
LatencyInfo trace_id and new ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.

Also the trace_id needs to be unique across multiple processes (
since we can emit ASYNC_BEGIN in one process and ASYNC_END in another
process). So initialize the last_input_number_'s high 32bits with
process id.

BUG=246034
TEST=Check in about://tracing, that gesture events' LatencyInfo don't
     inherit trace_id from touche events' LatencyInfo.

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

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