Return partial as engine with given view_path

There was problem with `view_path` method. This method under normal
circumstances will returns `@_view_path` instance variable. Here comes
an interesting behavior of ruby

```ruby
def view_path
   true
end

view_path = nil || view_path
view_path # => nil
```

Ruby will initialize non-existed local_variable and override the
method with the same name. So there is no way to create engine with
given `view_path`.