Prepare ApplicationService for multiple applications handling.

Prepare ApplicationService for multiple applications handling: ApplicationService now owns a ScopedVector of Applications.
Application::Observer class is introduced so that application can notify about its termination and deletion.
Application::Launch methods return a pointer to the corresponding Application instance, ApplicationSystem methods are modified accordingly.