Trim matching lines, support utf8

The trim is needed to clean todo's that are nested in a block structure: the indent would show up in the report as offset test, which looks very messy.

Also closes #5 (implements it as an option), matches the node.js convention of using ut8 as default for text.