Split default template and global header / footer

Split the global header and footer HTML out of the default template into include files. This allows other templates to be created which use the same header and footer code without repetition.

Also added some HTML5 `<article>` tags for funsies.