This commit should significantly improve the performance of the node,
by skipping the conversion to BMesh and back, also skipping realizing
instances for any input mesh instances.
This upgrade allows using multi-input sockets for the inputs, which
removes the need to have a separate boolean node for every operation,
This will *also* improve performance due to avoiding the overhead of
setting up and allocating memory for many separate operations.
The changes necessary for transforms in mesh_boolean_convert.cc are
somewhat subtle; they come from the fact that the collecting the
geometry set instances already gives transforms in the local space
of the modifier object. There is also a very small amount of cleanup
to those lines, using float4x4::itentity().
This patch also fixes a bug where overlapping difference meshes would
make the operation not work. Though I'm not quite sure why.
The way links are updated when you change the operation isn't great
currently, but I would like to address that separately.
