[Invalidation Tracking] Trace StyleInvalidator setNeedsStyleRecalc

This patch adds a set of trace events to track reason when
StyleInvalidator invokes Node::setNeedsStyleRecalc. One of the trace events is guaranteed to be issued before StyleInvalidator issues setNeedsStyleRecalc on the node. The trace events come with InspectorStyleInvalidatorInvalidateEvent, which contains inspector node id, human readable reason string, and optionally the tagName/id/class/attr/invalidationList involved.

This is to be used from devtools so we post process and find the StyleInvalidator trace event on the given node to see the detailed reason for why StyleInvalidator decided issue setNeedsStyleRecalc on the node.

BUG=410701

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183177

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

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