Add UTF-8 support for Text::ucfirst

By using UTF8::substr, UTF8::strtoupper, UTF8::strlen

Thanks to @Come2Daddy PR #521
@cs278 you are right, the `Text::ucfirst` should have been named `Text::ucwords`, in the first place.

Note that I am not changing the behaviour of the existing functionality.