In-browser tests base classes refactoring

The previous in-browser tests implementation did not consider the new Application and XWalkRunner APIs
this made us keep awkward test-specific APIs in generic XWalk classes and it also affected XWalk behavoiour
(had to show empty runtime page if no valid cmd line arguments were given).

This patch contains following improvements:
- Test cases do not have to manage pending "dummy" runtime, they now can be responsible only for
their own Runtimes. RuntimeRegistry is exported from InProcessBrowserTest to be used by its
descendants for Runtime instances management.
- "WaitForRuntimes" API was removed from ApplicationBrowserTest, now all application tests rely
on ApiTestExtension and generic XWalk Application API. ApplicationApiTest class was merged to
ApplicationBrowserTest class.
- Removal of Runtime::SetGlobalObserverForTesting API (not used any more)
- XWalk does not show empty Runtime in case no valid cmd line arguments were given

Debugging of this patch also revealed the necessity to perform termination logic at Application class
destructor (and this was implemented).