doc: add Client Main Loop section

This starts a new chapter Implementation Guidelines and Recommendations
for us to document how Wayland client (and maybe compositors too) should
work.

I got the inspiration for this from the recent game main loop
discussions I have had. I have a personal agenda to stop game engines
and libraries from relying on blocking window system calls. Such calls
are actually hard to use right, because they may block indefinitely on
Wayland. It would also be good to do something about the "moar fps"
disease that is seen as the solution to all latency problems which in
many cases really stem from a poor main loop design. If a game can
update its state and handle input faster than a display can display it,
then don't draw frames that would only be thrown away.

This doc patch should address the main loop design aspect.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
3 jobs for mr/mainloopdoc in 54 seconds (queued for 2 seconds)
latest
Status Job ID Name Coverage
  Review
passed #11936046
check-commit

00:00:16

 
  Prep
passed #11936047
debian:buster@container-prep

00:00:11

 
  Build
passed #11936048
build-native

00:00:25