Fix #18 Memory Leak in operator=

@individual61 I did some further investigation and used a more clean method than the one you guys proposed in [1] :)

The memory has to be freed **first** and than assigning *new heights, widths, ...* is valid.

### Changes
- free internal variables before assigning new values
- use a reusable private member function now
- first report by Ahnfelt and further investigation done by Paul -> thanks!! :sparkles: 
- see [sourceforge#forum#c7607b9b](http://sourceforge.net/p/pngwriter/discussion/238247/thread/c7607b9b/)