Cleanup and restructuring

Starting with some restructering, added destructors to all types that
create objects with new statement. More has to follow. TileData object
must go, any ptr in Tile also.