Refactor view creation to be more async friendly

This patch
1. renames QMozContext::newWindow() to QMozContext::createView() to
   reflect the fact that it is an action, not statement. Also
   browser may not support windows, but tabs thus the more general
   wording;
2. changes the signature of the signal QMozContext::newWindowRequested(url).
   Signals  in Qt implement "one publisher many subscribers" mechanism
   hence it's not guaranteed that there is only one subscriber for the signal.
   Therefore signals should not be used as synchronous calls to fetch
   values like ID of a new view. Instead the patch introduces a new class
   QMozViewCreator that can be used to implement synchronous fetching of
   just created view ID that can be returned back to content JS script.