Port the kn-next header behaviour to kninfra

Patch: https://github.com/dsprenkels/kn-next/pull/36/files

This only ports the behavior of the header, not of the footer (it sticks
to the bottom in kn-next).
Merge remote-tracking branch 'ayke/header-footer' into static