[x] Empty objects still show up in the stringified Quest
[x] onEnter after a dialog speaker creates a new speaker line instead of a dialog line
[x] Typing an open paren does not add a matching close paren
[x] onEnter after an emote line always adds a new emote line, even when shifted, even when a blank line comes between, and even when at the end of a current emote line that is just the prefix (should get autodeleted)