What does BTCitcoin needed in order to become a mainstream payment system?
The biggest obstacle I see (beside those that you already mentioned) is volatility, especially for people that are or on the minimum income. But even if bitcoin was more stable, there is another ((much bigger)) problem and that is people, as dealing with bitcoin means that you take responsibility in your own hands, and that's something majority of people don't like/want. They prefer sense of false security by giving someone else their money so in case they forget pin of their debit card, they can just go to their bank and get another one, while we know that you can't do that with bitcoin.
After all, bitcoin doesn't even have to become mainstream payment option to be useful.