move ViewModel::before() execution in render() from constructor

this pull request is instead of #1409 .