Remove `FStringElement::Invalid`, improve parsing logic (#10327)
This PR does the following around f-string parsing:
1. Removes the `FStringElement::Invalid` variant
2. Move the parsing of f-string elements to use list parsing logic
3. Add error recovery for f-string elements
- [x] All tests pass
- [x] No performance regression