Fix zoom, now configurable with padding

There's a weird bug with the padding, it seems to only apply at the
top-left corner, but not at the bottom-right...