perl: Provide alternate definition of newSVpvn_utf8 for older Perl.

Commit 40fff10318e0001fb3a145f5e1a905704e3f5695 uses newSVpvn_utf8.
This macro did not exist in Perl < 5.12, but we can use newSVpvn
instead.

Also update the associated test script:

- Don't use 'done_testing'.  Not supported by ancient Perl.

- Skip the tests entirely on ancient Perl.