Application extensions support multiple applications

Application extensions are now provided with corresponding Application instances.
The corresponding application instance is found by Render Process Host (RPH) associated with it
(There's one-to-one correspondence between Application and RPH, obtained from its "runtimes").

RPH id getter is added to Application class. ApplicationService can lookup an application by the RPH id.
The rest of changes in the Application class (and all changes in Runtime class) are caused by the necessity for the application
to be aware of the associated RPH id before its first "Runtime" loads anything.
Merge pull request #1415 from pozdnyakov/Extensions_support_multi_apps

Application extensions support multiple applications