Added startsWith() and endsWith() for yii\helpers\StringHelper

See #5316

I've tested different implementations, big strings and `mb_substr` + `mb_strlen` with `8bit` check is pretty efficient.
Case-insensitive check of course is much slower, where additional `mb_strtolower()` is triggered to ignore the case for multibyte strings.

I found no difference on matching big strings and a bit decreasing speed on non-matching big strings when using `substr_compare`.

```php
mb_strtolower(mb_substr($string, 0, $bytes, '8bit'), Yii::$app->charset) === mb_strtolower($with, Yii::$app->charset);
```
comparing to:
```php
substr_compare(mb_strtolower(mb_substr($string, -$bytes, null, '8bit'), 'utf-8'), mb_strtolower($with, 'utf-8'), 0, $bytes) === 0;
```
 (PHP 5.4)