Add generated main document URL request job support

A generated main document is an empty HTML document which <body> tag contains
JavaScript files specified in manifest.json. Ref to:
http://anssiko.github.io/runtime/app-lifecycle.html#a-single-entry-point-to-the-application

The GeneratedMainDocumentJob implementation is borrowed from Chromium extension
GeneratedBackgroundPageJob. When a URL request matches
"_generated_main_document.html" file name the job will be created and returns
the generated content.
Add main document launch support

Main document is an invisble document no matter whether it is a real file or a
generated one. Working as the main entry of an application, the main document
must be loaded before other pages.(see
http://anssiko.github.io/runtime/app-lifecycle.html)

So the Runtime::Create() is modified to create a Runtime instance without attach
to any app window, and the WebContents' initial size is also set to (0,0).
Runtime::CreateWithDefaultWindow() now works like previous Runtime::Create().
Currently we support application both run from main document and local path,
however the local path support may be deprecated in the future.
Add main document browser test