Avoid a use-after-free when caplitalizing words

https://bugzilla.gnome.org/show_bug.cgi?id=728533
Fix automatic numbering of last track in view

https://bugzilla.gnome.org/show_bug.cgi?id=728548
Handle images with a reported size of zero

If a zero-byte file was encountered, such as when reading from a HTTP
server which does not report file sizes, a zero-byte buffer was
allocated and passed to g_input_stream_read_all(), triggering an assert
in the image loading code.

Avoid the problem by treating a non-zero file size as an optimisation,
allocating a buffer for the input file if the size is available, and
splicing the file input stream to a GMemoryOutputStream.

https://bugzilla.gnome.org/show_bug.cgi?id=728602
https://retrace.fedoraproject.org/faf/problems/1662964/
Move main window to EtApplicationWindow object
Pass the main window to actions as user data
Move log area to EtLogArea object
Move playlist window to EtPlaylistDialog object
Move load filenames dialog to EtLoadFilesDialog
Move file search dialog to EtSearchDialog object
Move preferences dialog to EtPreferencesDialog
Move CDDB dialog to EtCDDBDialog object
Move scan dialog to EtScanDialog object
Replace strncat() with g_string_append()
Move select and unselect actions to main window
Move file selection actions to EtApplicationWindow
Set a rough initial window size and pane positions
Move browser to EtBrowser object