[buffer-geometry-merger] Fix to work with dynamic elements
[buffer-geometry-merger] Fix to work with dynamic elements

The buffer-geometry-merger, as it was, does not work when you inject
(using JavaScript) some components in a DOM subtree, and then apply
it to merge all geometries in the subtree. See details in
https://stackoverflow.com/questions/59110629/a-frame-buffer-geometry-merger-seems-to-shift-entities-in-some-cases/59513236#59513236

This fix bakes the matrixes of the components into the cloned geometries,
so that when they are merged into a single one, it is correctly positioned.
I also change the updating of the world matrixes for all the scene,
to the updating of the world matrixes for the intended subtree.

In the process, I also added a definition for self, which was used in the
code, but not defined.

ngokevin/kframe,ngokevin/kframe