memory stuff

Free memory in destructor, replace remaining malloc/free with
new/delete.
improved save()

Now works correctly for all color types, not just RGBA.
fixed tests

Eliminated all destructive changes to the frames while saving, now
assemble() can be called twice in a row.
Merge remote-tracking branch 'origin/maxstepin-2' into build-split
Debug.
Split projects.
Adjustment spec files.
Implements build-split.