refactored player creation to its own function
create the player when loading the gamestate
added more documentation

Hopefully, this will make the PlayState more understandable to the
reader.