Added support for spacing to smart sprite layouts.

This makes no changes to the RowFitter calculations - it merely adds spacing around the sprites after they've already been divided into rows. As a result, this could potentially generate a suboptimal layout given the right combination of images and spacing settings, but I suspect that would be fairly unlikely in most use cases. If it is deemed to be a major issue, the RowFitter algorithm could always be optimised at a later stage.