Reorganize some CSS to undo absolute positioning

This commit also moves #footer outside #content.
Do not scroll on page load on small screens
Keep the footer at the bottom of the screen on short pages

With larger pages the footer behaves like it always has.

It uses Flexbox to make sure the footer can be any height.

Tested in:
 * Internet Explorer 8/winXP, 9/win7, 10/win7, 10/win8 & 11/win8.1*
 * Firefox*
 * Chrome*
 * Opera 12.16*
 * Safari 5.0/wine, 7.0/OSX*

Versions with a star work as intended, other versions use a fallback (a
hard-coded min-height, like it was). It works as intended in the
majority of browsers (as measured by pageloads) in the Netherlands.
80-columns fix
Merge pull request #197 from aykevl93/footer-stick-to-bottom

Keep footer at the bottom of the screen