[cleanup] simplify code by _transform_object() function

A little less code, more correct g_returm_if_fail() which should not
trigger anyway.
[transform] don't change image size to simulate rotation

still missing the capability to actually rotate the pixels.
[transform] initial rotation support for "Standard - Image"

Introduce DiaRenderer::draw_rotated_image() and move some code to helper
functions for reuse. Implement DiaCairoRenderer::draw_rotated_image() for
testing the new functionality (mainly with transform-variations.svg).

Give "Standard - Image" an angle property: copy, load, save it.
Set Image::angle in image_transform().

Unrelated: use element_update_connections_rectangle() to ensure proper
directions initialization with less code.

Open issues:
 - for now only the cairo renderer implements draw_image_rotated()
 - either the angle should be limited like for "Standard - Box" or the
   connection point directions for angles outside [-45...45deg] must be fixed
[transform] implement SvgRenderer::draw_rotated_image()

... by just applying a transform to the base class created image node.
Also fix premature optimization regarding negative offsets. At least
IE11 did not like the double minus which could result from the offset
center position being negative already.
[unit test] check some more connection point directions consistency

If the previous cp had the same coordinate x or y it should have the
same direction.
[cleanup] more use of element_update_connections_rectangle()

rather than having 27 lines of code pasted for these objects