* Removed call to abort() method in case
EnterNumberWindow's SwitchData handler
receives message that can't be handled,
what caused the phone to crash.
* Unify ApplicationCall window names
definitions.
* Code cleanup.
Call logic is now removed from call window and call app.
There was spaghetti logic mixed in window and app, now
call logic is based on notificatins from service cellular.
Reduce firmware size by refactoring global data defined in public
headers.
Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
Use specialized class to to pass phone number between apps and services
instead of ambigious std::string. Introduced class (utils::PhoneNumber)
wraps calls to libphonenumber providing more convienient interface.
However using libphonenumber directly may be resource hungry in terms
of stack, heap and cpu usage, so helper class has been introduced to
pass information about phone numbers (utils::PhoneNumber::View). It is
designed to maintain integrity thus can be created from an instance of
utils::PhoneNumber only or moved/copied to.
Add new field to the calllog db holding e164 formatted number. Both
entered and e164 numbers will be needed to be able to match with
contacts correctly.
Add constexpr information about country codes (utils::country).