Added encoding support to ucfirst method

Uses mb_strtoupper and mb_substr to achieve Upper Case on first charater of each word along with encoding, following Text::ucfirst() behavior. Default encoding is UTF-8.

Exemple : Text::ucfirst('вы-рок', '-', 'UTF-8'); => 'Вы-Рок'