Styled up the main user interface, configured MahApps.Metro for the main ui and implemented the MenuView for being able to display the same menu on all subwindows
Implemented StatusView (status bar located in the bottom of the MainView), added SpotifyMenu style and added the User(View)Model
Renamed certain classes, removed the LoginModel class
Implemented PlaylistsView and ViewModel logic in the MainView, added function for retrieving the playlists of the logged-in user
Extended PlaylistModel, added TrackModel. PlaylistsView now displays the track count and playlist description
Added refresh button for refreshing the live data (playlists, tracks...) - implemented events being called if data is updated
Fixed memory disposing/freeing issues
ArtistModel and extension of the GetPlaylists function in order to retrieve data about tracks and artists
Redesigned PlaylistsView to present tracks and playlists as a hierarchical tree view
Added ViewModels for PlaylistModel and TrackModel, implemented PlaylistsMock class for designing the PlaylistsView while seeing real data
Added TrackSelectedEvent and implemented properties/binding for showing the currently selected tracks in the tree view
Artist names are now included in the Playlist overview
Added AlbumModel class, removed unnecessary references to the unmanaged libspotify objects in the models
UI remastering
Implemented settings
Settings validation and event handling
Added GridSplitter for the MainView to enable dynamic expanding of the tracklist/playlist screen
Moved refresh action button in the status bar to a menu item
Implemented directory settings, replaced the SettingsModel with the built-in .NET settings feature
Resolved some cache issues and fixed some spotify bugs when retrieving playlists and tracks.