This commit simplifies the logic of `ExpressionVisitor` in `completions.ts`. Specifically, 1. helper functions `uniqueByName` and `lowerName` are removed. 2. Clean up the logic in visitElement() 3. Reorder constructor params 4. Add methods `addAttributeValuesToCompletions`, `addKeysToCompletions`, and `addSymbolsToCompletions`. PR Close #33391