Add :utf8 feature to cope with utf8 output hack for Test::More.

Some people switch IO layer of `Test::More`'s output as ':encoding(UTF-8)' (eg. `binmode Test::Mode->builder->output, ":utf8"`) to avoid output `Wide character in print at ...` on test failures.
Yeah it's dirty hack indeed, but it does clear garbages in output of test suites away.

Conjunction of this technique and Test-Name-FromLine leads to trouble. Output of source written in multibytes become corrupted (MOJIBAKE), because IO layer with ':utf8' is going to re-encode source (already in byte stream).

Yes, that is NOT the responsibility on this module, Test-Name-FromLine (I know).
Rightful way to resolve this phenomenon is patching code of Test::More to convert UTF8 variables (and test names) into byte stream, but it is too difficult.  I gave up.
So I wrote this patch.  When `Test::Name::FromLine` is `use`d with `:utf8` parameter, automatically generated test names are decoded with UTF-8 (so they are represented in Perl internal Unicode string format), then output will be clean for multibyte even with Test::More's dirty hack.