optional `fn` in view() as `construct` listener

some api sugar sets a `construct` listener on the same place as View's factoring like `View = view(template, fn);` to save a few lines.