command: append entries to the end of the playlist with loadlist append

Currently entries are added after the current playlist element. This is kinda
confusing, more so given that "loadfile append" appends at the end of the
playlist.
command: fix and simplify overlay_add

Actually free the old mmap region when readding an overlay of the same
ID without removing it before. (This is explicitly documented as
working.)

Replace the OSD atomically. Before this commit, the overlays were
removed and then readded to avoid synchronization problems.

Simplify the code: now there is no weird mapping between index and ID.
The OSD sub-bitmap list still needs to be prepared to skip unused IDs
(since each sub-bitmap list entry must be in use), but the code for this
is relatively separated now.

Fixes issue #956.
osdep: don't assume errno is positive

Apparently this is not necessarily the case, so just drop the silly idea
that depended on this assumption.
audio, client API: check mp_make_wakeup_pipe() return value

Could fail e.g. due to FD exhaustion.