Fixes for special characters and HTML

- Handle both single and double quotes in input text without any
  truncation occurring.

- Handle HTML without create strange duplicated text segments. Allows
  user to type in HTML (which is then rendered when input loses focus).

- Lists that don't have names are given one, and hidden inputs are
  generated for all lists. This makes it easier to store values
  and more consistent.