Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
* Timers now are Application thread safe
* Timers now have consistent API independend of Application (no more c style timers)
* Timers can have either: callback or override onTimer() method - this
way we can create more complicated timers or just use existing ones
* gui::Timer added via adapter class GuiTimer to decouple sys::Timer
with gui::Timer
* Fixed race in wrapper
* Updated docs
* fixed using std and cpp_freertos and DataReceivedHandler hidden in Application.hpp
* SIM hot swap should now properly show |x| in sim place when there is
no SIM inserted in selected sim slot
* ServiceCellular now can inform on Fatal state desktop which will
trigger window `Reboot` with no point of exit
* All windows in Desktop now have name in one place
* Access to cmux channels via enum class instead of String (which is errorprone)