Convert StaticContent to Static, a Page subclass

This pulls the second commit from #671 (4ff0d18) with a few
modernizations due to changes in 'master'.  For consistency with #671,
this PR should be merged after #665.  The second commit here
completely clobbers #646, but I think the new approach is less
brittle.