Fix #566, return string from simple HTML helpers

- allows compositions such as `@Html.Label("property", Html.Id("property"))`
- in normal case, `RazorPage.WriteTo()` calls from the generated code will do HTML encoding
- see individual commits for details

/cc @yishaigalatzer 
These don't seem very useful. Should it say the model value, or the model value for the current model?