[Application] Handle multiple attempts to terminate an application

Before this change multiple invokes of Application::Terminate() method broke
the app termination logic in case "OnSuspend" event handler was registered for
the app. Fixed now by introducing a dedicted "IsTerminating" check to
Application::Terminate() method.
Merge pull request #1542 from pozdnyakov/Avoid_app_double_termination

[Application] Handle multiple attempts to terminate an application