Add square parameter to enable "square resolutions"

This allows you to use `cover` or `contain` as the width.