Moved song play/pause/skip actions sent by playlist into a wrapper
AudioPlayerWithEvents, to simplify the logic in PlaylistService

Moved other play related events into the appropriate audio player

Modified PlaylistService to readd songs to playlist data manager after playlist
has been reset

Added error when trying to play and the playlist does not have any loaded songs