Create a common class for the envelope trees (both row and col trees) in order to put some code in common.
Merge RowNode code into the new  EnvTreeNode subclass: use this new subclass to put all the common code of RowNode and ColNode in a common superclass.
Let ColNode be a subclass of EnvTreeNode in order to remove some useless code ...
Also change the code for the ExtendedRowNode class.
Make EnvTreeNode destructor virtual.
"Factorize" the code for merging envelopes. Thus we remove code duplication between RowEnvelope and ColumnEnvelope
Bugfix: typo that created a misbehavior when testing if two column envelopes crossed or not.