roman-numerals: Adopt functional style

As discussed in #79.