…so that multiple threads are not using the engine at the same time. Fixes #471
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`.