Player handling via opaque objects #13

Manage all aspects of omxplayer instances via struct player
opaque objects, thus encapsulating process creation, control pipes,
signals into new module player.c.

This will allow to prime a paused omxplayer with next track.
Allow up to 3 omxplayer instances #13

Which will even allow interrupting the playlist by a video,
and continue from the middle of the interrupted track.
Move IO utils to new utils.c #13
m_list: in memory playlist compiles #13

And the test case does not segfault. But that's all.
Debug logging in m_list #13
m_list fix insert into empty list #13

And thus load_list from file as well.
m_list fix X command #13
m_list show change for act/next separately #13
m_list fix jump wrapping #13
m_list fix directory detection #13
m_list fix dir jump direction #13
Test m_list tmp insert/append audio #13
Start using in-memory playlist m_list #13
Debug log only enabled with -d #19
Low gap playback starts to work #13

Problems:
Sometimes no jump to next track.
omxd n killed omxd via SIGPIPE.
Logging cleanup #13

Remove unnecessary m_list logs.
Player logs, always start with function name.
Makefile easier testing #13

make debug: clean up old omxd/omxplayer instances.
make ps: pstree -pu filtered for omx*
Fix for premature death of next primed track #13

For instance if it's a non-playable picture file.
Ignore SIGPIPE from dead omxplayers #13
Fix omxd S status #13

Logging level 0: leave only messages essential for status and errors.
Client: calculate status from new messages.