5.2 compliant

Hi _Yuri Vladimirovich_,

I started to use your good work. I tried to maintain some things:
* Add `5.2` module convention
* Use metatables

As I am dealing with text, I added a function:
* `format_as_text`

I hope you will find it consistent with your previous work.
If you merge it, I am _willing_ to provide a rockspec for it.

Regards