Clear transform after painting each object

The transform which is set by the Shoes::Swt::Common::Painter, if it's
provided by the object, was being allowed to persist across to
additional painting operations on that graphics context.

Most art objects didn't actually have a transform set, but line does so
elements following it would get mixed up by having the line's transform
applied to them.
Reset graphic context settings consistently

Not only did transform need to get reset, but also anti-aliasing and
linecap settings we were altering per-object in the painter classes.

We already had a reset method for graphics contexts in the Resource
module, so I've made that responsible for the guts of setting those
properties how they should be at the start of painting for a given
object to the graphics context.
Merge pull request #739 from shoes/clear_transform

Clear transform after painting each object, to avoid side effects on other painters

* Changelog: bugfix
* fixes #701