Migrate view engine in upstream master branch

Hello !
I'm trying to split my last huuuuuuuge pull request...
This is what @matthieucan does with the "view engine" feature !

I hope you prefer pull requests like this...