[Runtime Model] Runtime side change to support none peristent main document.

This CL and above commit are to implement
https://crosswalk-project.org/jira/browse/XWALK-2.

This CL follows the Chromium way to close the event page, which uses
IPC to sync between renderer and browser process. Two IPC communication
pairs are introduced,
'ShouldSuspend'/'ShouldSuspendAck' as well as 'Suspend'/'SuspendAck'.

The first pair of message is to make sure main document is idle before
unloading. If we find the main document is not idle between the first
pair of IPC communication, the second IPC pair will be canceled, that is
to say, the main document won't enter suspending(closing) state.

The second IPC talk makes sure the renderer finishes onSupsend callback(which
is not implemented yet) and it is OK to close the main document.
The onSuspend callback will do simple clean up task.

The CL makes ApplicationProcessManager as an Observer for Runtime
objects. Therefore, whenever a Runtime object is added or removed, the
ApplicationProcessManager could be notified. Currently only Runtime object
change is taken into main document keeping alive consideration.
Add close main document browsertest.