libaudgui: Fix list columns not being ellipsized.
Various improvements to playlist and tuple system:
* Convert enums to C++ style.
* Add aud::range to allow enums to be used in range-based for loops.
* Abbreviate home folder with "~" in displayed file paths.
* Add concept of fallbacks to Tuple, replacing aud_playlist_entry_describe().
* Get song length and formatted title directly from the tuple.
* Make sure playlist scanning has stopped before shutting down the scanner.
* Do not require playlist scanning to finish before quitting.
libaudqt: Update volume whenever the slider value changes.
Left-clicks and the mouse wheel were ignored before.
Add tracing to find when playlist calls block the main thread.
Add equality operators to Tuple.
Add aud_drct_get_position() and _tuple(), also "tuple change" hook.
libaudgui: Fix "source ID not found" warning.
Silence a warning on first-time startup.
libaudqt: Translation fixes.  Closes: #466 (partly), #469.
 * translate_str() now replaces all '_' with '&'
 * translate_str() no longer returns a pointer into a deleted StringBuf
 * prefs_populate() now passes the correct gettext domain to widget constructors
Some more translate_str() fixes:
* Only use translate_str() where we anticipate an accelerator.
* Default domain should be PACKAGE as defined in the calling context.
* Strings passed to translate_str() only need N_(), not _().
libaudqt: Move widget initialization before connecting valueChanged signal
Fixes triggering valueChanged signal if initial value is lower than spin_btn.min value
libaudqt: Refactor about window and equalizer window a bit.
Add a convenience wrapper to make hooks more C++ friendly.
libaudqt: Clean up hooks properly when equalizer window is closed.
libaudqt: No need for a subclass here, a lambda function will do the trick.
libaudqt: More translation fixes.
libaudqt: Set a proper icon for the add-button.
libaudqt: #include only the necessary Qt headers.
This cuts the compile time of libaudqt in half.
Fix build.
libaudqt: split out menu management core from plugin menu code