Decode HTML special chars on submitted content.

The encoding can happen during the move to and from the widget cache in JS. The
data we save should not be encoded like this.