iterate as many times as the object model still changes
only apply empty-group on strings and integers
added various simplifiers
omit superfluous curly brackets
added variable renamer and ignore integer string array indices