All that stuff would be nice to have, but I don't think they're required for it to be a widely useful language. What I think the minimal required set is:
- Fix "this". Even people who know what they're doing screw it up.
- Make keywords not reserved unless the language actually uses them. I mean seriously.
- Namespaces / packages / something.
- A package manager, like CPAN / Rubygems / whatever.
- A good IDE (even a half-assed attempt at code completion) and a debugger. I happen to really like Dashcode, I think it would be good if it were more generic.
Everything else on your list is great, but I think it can wait until later, or it's really just a feature of the language (not all languages have Smalltalk-style OO and That's Okay). Iterators and generators it actually has; operator overloading is widely reviled so I don't think that'll be a barrier to adoption.