Improve connection failure robustness
- Add retry for each MPD command and connection (some commands will not be retried : delete song in playlist ...)
- Tolerate no answer to IDLE command but force status refresh in this casae
- Make each MPD connection uses one thread to simplify synchronization issues (ThreadPoolExecutor)
- Make the connection lost popup  modal to avoid going back in an unusable application (and without a way to reconnect), do not redisplay an error popup if one is already displayed (to avoid popup blinking)
Fix Exception : arrayoutofbound
Happened with connection failures.
Do not display an elapsed time > song duration
Display the song duration instead.
Do not freeze UI when clicking on a playlist item.
Process playlist item click out of the UI thread.