Fix rendering of code on mobile and HTML encoding

On Android Chrome the main article font was being "boosted" in size by
Chrome.  However the code samples font was not, making it tiny in
comparison.  These changes take control of the viewport and in addition
switch to using more device independent "%" and "em" units for font
sizing.

Also upgraded all blog generator package dependencies. This fixed some
HTML encoding issues.