Added function declerations to Playlist class
Implemented Playlist class

Converted to non-templated class. Removed some functions that will be
implemented at a later time.
Added sorting fuctions to Playlist class
Added virtual destructor to ImageSource class
Added filtering to Playlist class

Also added empty constructor for Filter class. Minor refactoring done to
Playlist class.
Added search icon to resource file

Fixed default QSS file to use the resource path instead of a hard-coded
file path.
Added id field to the ImageInfo class

Used to keep track of the true index in a list, even if that list is
shuffled. This will need to be moved to a more appropriate spot later.

Also fixed a bug where ImageInfo objects were sorted with case
sensitivity.
Added openDialogFilter function to Utility class

Returns a file type filter for the File Open dialog.
Changed ImageSource class to inherit from QObject

Added signal calling to QuaZipImageSource class.
Refactored MainWindow and ImageView classes

Complete rewrite to use the Playlist and ImageSource classes. Removed
depricated classes.
Changed all get functions to const
Changed ImageSource class signals to use the relative file path of an ImageInfo object

This will be slower, but removes a lot of complications when signalling
that a file has finished extracting.
Added ability for QuaZipImageSource to unzip files out of order if requested

Whenever the MainWindow tries to view a file that does not yet exist, it
will signal to QuaZipImageSource to extract that specific file next.
Added Playlist::index(const QString&) function

Moves the index to the position of item with the given relative file
name. The MainWindow class will call this function when opening an
archive or directory.
Refactored Filter class

Minor changes to coding style and comments. Removed explicit from
constructor.