Source-Auswahl speichern und nur einmal anwenden

Die Source-Auswahl (Preview oder Source) wird nun in `displaySource` gespeichert, sodass z. B. bei mehrmaligem Klicken von Source der Text nicht mehrmals HTML-enkodiert wird.

Da dieser Pull Request auch die beiden Commits von #9 enthält, sollte wenn zuerst #9 gemerged werden.