* EGD-3229 text helper classes added with tests - used in tests, plus misc utils needed
No major actual functionality changed - TextClasses added with this PR
are used in tests only in this commit.
* classes needed to rewrite gui::Text added
* some utilities needed to rewrite gui::Text added
* tests added
* EGD-3229 [FIX] UTF8 fixed uint32_t range error
* EGD-3229 [util] gui::Item Navigation switch case moved to function
Needed to not copy senslessly NavigationDirection enum switch case
* gui::Item Navigation switch case moved to function
* added NavigationDirection::None enum value
* cleaned up Navigation.hpp/cpp
* EGD-3229 [util] gui: InputEvent - str() for logging added & is...() check methods
* EGD-3229 [util] removed notorious log on unknown glyph
* EGD-3229 [util] InputMode - added is(Mode) method, input Profile added default definition
* is() method addded to check instead of `==` comparison
* added default to Profile instead of `== 0` use
* [FIX] ARM GCC 10.1.0 - build fixed
fixed include in wrong place
* PR style fix
* Review applied
* option to handle response based on OK/ERROR
* better return value - Response code & response values
* common parent for common behaviour (TODO add ->cmd(...) to mux channels)
* better logging
* small fixups