Better version os SaveColor.
Merge from 5.34 commit:   f7eaf6ee1cb77b9e32a2b65360e59d8d36f2bcde

Fix TH1::Merge for merging histograms with buffer with histogram with limits
Add tests for merging histogram with buffer in stressHistogram and add tests for case with empty histogram
Merge from 5.34 patches:
commits :   32a4accb6016fee64cf92bba8068b95d320a7bca   and 7a7d2111f9785b8586e36b4309f6297aaa893392

Fix case of merging TProfile with different limits when the first profile is empty
(the fix applied previously for bug #5509 was not applied to the TProfile)

Improve also tests for 2D and 3D profile
Implement correctly the projections from a TProfile2D to TProfile and from a TProfile3D to a TProfile2D.
Add corresponding tests in stressHistogram.
This fixes bug ROOT-6220
Fix OpenGL + XQuartz + embedded canvas in a color dialog -

delete gl-related things (making a context current) before a window unmapped.
White Space
Array size attribute must be at start of data member comment. Update CheckSum calculation.

The array information must (as was always intended but never inforced) but at
the beginning of the comment (only preceded by the comment start and white
spaces):

   //[fArraySize] array of size fArraySize

but not:

   // my comment [some details] etc.

Implement this search in TVirtualStreamerInfo::GetElementCounterStart

Add kReflexV5 and kNoRangeCheck as CheckSum alternative.

CheckSum alternative calculation newer than kNoRangeCheck will only use information in
between brackets that is at the start of the comment.

kReflexV5 emulates the way the checksum was calculated when the dictionary
was generated with genreflex (no typedef and no comment information).
Fix kReflex CheckSum calculation.

Properly remove the Long64_t and any trace of the comments/array information.

Separate this kind of calculation in kReflex and kReflexNoComment as the
comment may or may not be available depending on the user's genreflex command line choice.
move opaque and guide lines.
arrow keys, zoom ..
Use GetValue() for TEnumConstants.
Rip out allHeaders which will be available in ROOT PCMs instead.
Deal with the special case of std::string in missing dictionaries. (ROOT-6269).
Namespaces tab compltion fixed. (ROOT-6062).
Indices fix for matching class names for tabcompletion. (ROOT-6062).
Tab completion change uniqueness method for the file. (ROOT-6062.).
Improvements to tab completion redicrection to file.(ROOT-6062).
Merge tab completion improvements (ROOT-6062).
Remove singlePCM case; it is complicating the ROOT PCM implementation.
Remove reference to ROOT_MODULES; will be using "ROOT PCMs" (for now).