by introducing new Item::precedence() method and using it to decide whether parentheses are required
- Single_line_formatting_helper should not accidentally exit the DISABLED state. No JSON construct should be able to move the Single_line_formatting_helper from DISABLED state.