Generic destructor for layouts
While the chances of having a generic constructor for most building blocks are minimal, as it would reintroduce va_args in the code base, we should add a generic destructor to the API.
This is needed in particular for layouts, as ownership of the layouts can become very messy otherwise.