Added "spacing" and "margin" on SpriteSheet.

In this pull request:

* I've added a `spacing` and a `margin` property at the definition of spritesheets using frames of the same size (default value to 0 for both properties);
* I had to rewrote the function `_calculateFrames` to use these properties but I think the new algorithm is simpler than the previous one;
* Also added an example using a tileset with margin and padding. The tileset also have a horizontal and vertical filler (it shows that the new `_calculateFrames` does not try to get frames outside the image;

Closes issue #484.