Implement object lifetime tracking similar to chromium's trace_event.h

This ports TraceScopedTrackableObject and related TRACE_EVENT_OBJECT_xxx_WITH_ID()
macros from base/debude/trace_event.h. This also requires bringing explicit
mangling control classes in TraceID -- the latter have been re-implemented
using templates instead of overloads for the sake of brevity.

BUG=
R=nduca@chromium.org, pfeldman@chromium.org

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

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