Form now store DOM (serialized) value as well.

This allows us not to corrupt user input on invalid values. Previously some of
the user input was lost during serialization-deserialization cycle.
ShowValue: now can show debug info
docs: undo example now have validation and initial value