Material group modding

This adds functionality to change the values (a.k.a. material ids) of mesh elements.
Implemented functionality is
a) condense values: element values are renumbered such that no distinct groups of elements are merged and the range of values is minimised (i.e. [1,2,3,7] gets [0,1,2,3])
b) renumber specific values: elements with a certain value A get a new value B (A and B are user input).
In addition the user can explicitly force the merge of two groups by assigning an already existing value (however, this is not default behaviour)
The functionality is available from the GUI by right-clicking on a mesh and selecting "Edit material groups...". The implentation itself is not dependent on the Gui and can be called from anywhere by including the MshEditor class.