xdg-shell: initial support for a timestamp in present()

An optional timestamp can now be passed to the present()
request ; if it is 0, the request behaves as before.

If it is set with, for example, the timestamp passed back
from a pointer event, the shell will consider the delay
between the event and the effective present() request
to decide if it shoud show it immediately OR send a
notification.

Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>