centralize configurable stuffs

collected all configurable stuffs in one configuration file. This time we still
do buildtime configuration. This is a preparation for a runtime configuration
interface.
Fixed offby one, fixed handling for song==NULL

when the name > 80 we append the last byte of buffer with '\0'. However the name
and title buffer are declared with 80 byte long. The intrestin effect is than
that when we try to write to new_name[80], the software doesn't segfault,
instead it writes the null termination into old_title[0], which is place just
after new_name[79] on the stack. This is a stupid off-by-one error, which
revealed some really interesting stuff.

Also clear the display buffer if we failed to retrieve a song. This prevents
segfaults when we failed to connect to a station.
added libmpd based error callback
added special character handling

some dirty hack to handle some german characters. This only works, if the
character is encoded in UTF-8 Multibyte. The callback is extendable, but only
for U+00C0 till U+00FF)
call mpd statu update in loop