[Runtime] Application main document manifest handler and onLaunched event support

With main document manifest handler we can access the application main document related info directly from MainDocumentInfo instead of parsing the manifest manually. An unit test for the handler is also added.

In order to follow the main document lifecycle events, we need to launch the application through "onLaunched" event.

Implementation details:
For application with main document, now we send "onLaunched" event to the application when ApplicationService launches it. ApplicationEventManager will load the main document of it and send the saved lazy events when the main document finishes loading.