Fading music between gamestates with new system feature.

This is a solution to #122

Added fading between gamestates with a new system that allows shutdown time for systems when switching gamestate.