updating the page generator and base view to work with razor helper functions

@NTaylorMullen 
For all of these use `[NotNull]` attributes in the ctor.  Aka:

```C#
protected void WriteAttributeTo<T1>(
    TextWriter writer,
    [NotNull] name,
...
```