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'); => 'Вы-Рок'
These are 'simple' functions with a stable interface. I see no problems in using them. Otherwise, you'd need to duplicate the work done in those libraries.