switch `currency` function from python locale to babel.numbers.format_currency
This is thread safe and appears to be much easier to use when a single document switches back and forth between multiple currencies.
If this is of interest happy to submit a small PR
I thought about using that function when I implemented currency() but I decided to go with the locale formatter even though it caused a thread safety issue. I don't remember all the reasons but one of them was that you need to pass the babel function a denomination, and while I could determine a denomination from get_territory_currencies(), sometimes that function returns multiple currencies, and then what do you do. Whereas with the OS there is an existing system for unambiguously mapping locale to currency, which is highly configurable. Also people still have lots of options because currency() accepts a symbol parameter and it is a language function that can be overridden.
In any case adopting the babel version could be a breaking change for people so I wouldn't implement it until a major version upgrade.