Changed ShutDown Hook

I found that the shutdown hook is not always called even when you tell
the app to system.exit(0). I couldn’t find any reasons why that might
happen online so I’ve changed the way it works. Now, when any close
button is clicked, the block of code that was in the shut down hook is
called and then the system is exited which will then go into the
shutdown hook. I have it calling that shutdown task again there just in
case the shutdown hook is triggered by something else. We can still
probably use the hook to fade the music. Please try to break the choose
player/new player buttons/flow as much as you can and let me know where
it doesn’t work. I already know, however, that exiting the program with
CMD + Q on a Mac does not save any changes if you haven’t seen the shop
yet.