Eliminate network jitter from touch input replay

Add fields to the TouchEvent message to include the client-side
DownTime and EventTime fields.

Also added support for the "Historical" batched form of motion events
where a single Event object contains a series of pointer movements all
batched together.

Finally, added the EdgeFlags field, that could be used for gestures like
"swipe in from edge" used by certain apps.

The new fields are all optional to maintain backwards compatibility with
old clients.

Change-Id: Ie93a25a040eba74dd4f4675b8704f16ad0ccb88a
Protocol 2.0, now with less kruft

Changes:
* allow batching multiple sensor and touch events in a single message
* stripped out any unused fields and types

Left the Request/Response constructs as it, as alternate names aren't
significantly less annoying as to be worth all the code changes that
would be required.

Change-Id: I5aac47b813096f9b694ffdc81141829ee57336f9
Updated protocol diagram