Added support for tileset margin and spacing

Also tried to reduce the amount of calculation done for each tile a
little by remembering more about the current tileset.

Closes #44
Fixed the timeout on unused resources

The CACHE_TIME was used as milliseconds but documented as seconds.
This changes the timeout from 60 milliseconds to 30 seconds.

It may take up to 40 seconds for resources to be cleaned up, since
the cleanup happens every 10 seconds.
Fixed possible QML warnings in CompoundSprite

Apparently it is not a good idea to reference 'parent' in a Repeater's
delegate, even when it is explicitly set. I was still getting warnings
sometimes.
Fixed status page eating mouse events

Use 'visible' in addition to 'opacity' because setting opacity to 0 does
not prevent mouse events from being consumed. Only setting the element
to invisible does that.