Engine: use std::vector for debug breakpoints, instead of DynamicArray
Common: replaced DynamicArray<T> type with std::vector<T>

The DynamicArray class was practically a vector with automatic growth on element subscript access; this feature enabled non-transparent side-effect, such as potentially less controllable buffer growth.
Common: replaced C-strings with String in Label and ListBox gui classes

Since we are now using std::vector to store guis, gui classes must be properly copyable. This commit fixes copy behavior for GUILabel and GUIListbox by replacing member C-strings with String objects.
Common: use std::vector for GUIMain array
Engine: added 'const' modifier to some char* function arguments
Common: refactoring GUIMain: applying coding style

This commit
* brings the GUIMain class declaration and implementation to compliance with the chosen coding style;
* changes GUIMain name type to String.
Common: GUIMain: store text window flag with other gui flags
Common: GUIMain: flag values and control types are now enums
Common: improved the GUI visibility mode representation

The GUIMain::on variable was used to define both GUI visibility and allowance to be shown.
This commit removes GUIMain::on variable and replaces it with private _visibility member, one setter and three getters which detect particular visibility modes.

GUIMain::on could have following values:
* -1 == hidden by command;
*  0 == completely disabled;
*  1 == shown by command

Now replaced with respected getters:
* IsConcealed();
* IsOff();
* IsVisible();
Common, Editor: removed limit of GUIObjects on GUI