Implement currency formatting

- [x] Implementation
- [x] Tests
- [x] Doc

Fix #238 
An alternative to this pattern would be to define another module. First is "something something validation", second "something something runtime" or whatever.