Add progress through dialogues.

Different dialogues can be loaded next time when a character is
talked to, if a certain part of the dialogue tree has been reached.
This way, you can add some sort of game progress through dialogues.

Now all dialogue related code has to be majorly refactored and
simplified as soon as possible.