Add Zoom handle for Group layer and Scale layer

This enhancement adds Zoom handle to allow interactively change the scale value of Group and Scale layers. The Zoom handle have special flag set - exponential, which tells the Duckmatic to display the handle in the special way, allowing user to easily set positive and negative values. 

The change also implies some necessary refactoring for the Duckmatic:
* Duck::signal_edited now accepts the whole Duck instead of Point
* as consequence, the Duck::signal_edited_angle() signal/callback is merged with Duck::signal_edited().