Support for php namespaces, static methods and yii widgets for Twig

Here is example of using:

in yii we do:
```php
<?php
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use frontend\assets\AppAsset;
use frontend\widgets\Alert;

AppAsset::register($this);
?>
...
<?php
            NavBar::begin([
                'brandLabel' => 'My Company',
                'brandUrl' => Yii::$app->homeUrl,
                'options' => [
                    'class' => 'navbar-inverse navbar-fixed-top',
                ],
            ]);
...
            echo Nav::widget([
                'options' => ['class' => 'navbar-nav navbar-right'],
                'items' => [...],
            ]);
            NavBar::end();
        ?>
        <div class="container">
        <?= Breadcrumbs::widget([
            'links' => $this->params['breadcrumbs']
        ]) ?>
        <?= Alert::widget() ?>
        </div>
```

With these functions we can do:

```php
{{ use([
    'yii\\bootstrap\\Nav',
    'yii\\bootstrap\\NavBar',    
    'frontend\\assets\\AppAsset',
    'frontend\\widgets\\Alert'
]) }}
{{ static('AppAsset', 'register', this) }}
...
{{ widget_begin('NavBar', { brandLabel: app.name, brandUrl: app.homeUrl, options: { class: 'navbar-inverse navbar-fixed-top' } }) }}            
...
{{ widget('Nav', {options: { class: 'navbar-nav navbar-right' }, items: ...) }}
...
{{ widget_end('NavBar') }}
...
<div class="container">
    {{ widget('yii\\widgets\\Breadcrumbs', {links: this.params['breadcrumbs']}) }}
    
    {{ widget('Alert') }}
</div>
```

Also we can define namespaces globally in config files:

```php
'namespaces' => [
    '\yii\bootstrap\NavBar',    
],
```
Is it required? PHP returns null by default.