Prevent implicit WebInputEvent construction from WebInputEvent::Type

All concrete WebInputEvent derivatives currently accept an unsigned size
parameter in the constructor, used to zero-initialize the object.  This can
lead to unexpected runtime behavior, e.g., a WebInputEvent::Type value can
implicitly construct a WebInputEvent object.  Prevent this by making the
size-accepting constructor protected for all types, and preventing naked
construction of a base WebInputEvent instance.

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

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