Make format_object_base's destructor protected and non-virtual.

It's not meant to be used with operator delete and this avoids emitting virtual
dtors for every derived format object.