Use Text over ByteString for HTML Generation

The use of ByteString in HTML generation can lead to encoding issues if/when unicode is generated. This should prevent that.