Implement key repeat.

Implement a new WaylandEventLoop implementing xbmc::TimeoutManager
which allows clients to add a function to be called on a timeout
(as determined by measuring time from one event dispatch to the next
and advancing timers in a queue).

When a key is pressed down, add a new callback which waits 1000ms
and then sends the same key up and down every 250ms.