Remove base64 encoding all around

Also, I think I mis-designed it initially by having
the lower layers care too much about encoding.

In retrospect, it should have been a web-layer only
transformation, and the underlying layers should
have not care about it (similar to html escaping).
Merge pull request #1 from cyx/no-more-encoding

Remove base64 encoding all around