Extract out the presentation

Proactively trying to give flexibility in presentation. Should we want
to, say, deliver the house rhyme as a CSV file, then the STDOUT-only
approach of the previous code wouldn't work.

I've extracted out a presenter which accepts an output class. Currently
there's only a STDOUT template, but the API is established for other
options.