debian/: add placeholder commit
use splith as default when restoring a layout

This frees users from specifying layouts even when they don’t make any
difference, e.g. leaf nodes.
swallows: value needs to be loaded as regular expression
tests: add simple layout restore test
layout loading: allow comments in JSON files
layout restore: support more criteria, match only once (+test)
GET_TREE: serialize container type into a string

So far, this was blessed for internal use only (by virtue of not being
in the documentation), but we want to expose it for the stored layouts.
allow parsing multiple nodes from a json layout
load_layout.c: use *LOG instead of (f)printf
add debug message to trace match deletions
layout restore: create and render placeholder windows

This is not entirely done yet, but TODO entries are placed in the code
where appropriate.
display swallows criteria in placeholder windows
use root window color depth instead of hard-coded 24
set original window title on placeholder windows
introduce client.placeholder color
fix test after renaming role to window_role
replace never-true condition with a working one

state->initial is set to false before calling x_push_node() since we
began pushing the window stack before pushing changes. Therefore, the
condition could never be true.
kill placeholder windows when the actual window appears
reconnect when the restore X11 connection dies

This could happen if a user uses xkill(1) on a placeholder window.
dragging: instead of using a custom event loop, use libev

This is done by installing a new check watcher that replaces the main
X11 event handler and calling ev_run with EVRUN_ONCE until the dragging
loop left state DRAGGING.

With this commit, other handlers, most notably the redraw handler for
placeholder windows, get a chance to run when dragging (placeholder!)
windows around.