Fixes to background image

Turns out that the background image was cut off in certain
circumstances. This solution seems more robust and is based on stuff
from http://css-tricks.com/perfect-full-page-background-image/.