Refactoring, fixes, state factory

I refactored a bit source again, so now game states are not handled
directly under GameWindow, but under StateManager class. Also, added
also posibillity of loading game assets not only from filenames but also
from streams. Also fixed major issue where user was not able to
serialize GameSettings to file.