parse: fix desc:null

If there is no description, manufacture one from the id.
Avoids a segfault in strdup(NULL).
graph: fix time ticks for large values

When the timeline is very long, avoid squashing tick labels better.
handle non-damage flushes

When weston internally damages a surface, we don't get a damage-commit
event in timeline. Cursors hit this somehow.

Do not ignore non-damage flushes, but create an update item for them
with unset damage timestamp.

Modify update_to_svg() to deal with all combinations of damage, flush,
or vblank timestamps missing.
don't clamp update point coordinates

svg_get_x() clamps the coordinate to the visible part. When plotting
points, check first that the point is visible.
update graphs: vary height for overlaps

When two consecutive update runs would overlap, move the latter down.
testdata: add timeline-3

Captured on DRM backend, two outputs, no correct vblank timestamping
yet.

Contains pointer movement, open weston-terminal, panel tooltip,
simple-egl. Simple-egl is being dragged from one output to the other and
back.
graph: show output names
graph: add legend
Makefile: add sample3 plots
README: update examples