Move tab creation/destroy handling to C++

This PR contains one commit replacing WebViewTabCache.js with C++ equivalent and moves all tab activation/creation/removal handling to C++ side.

The commit contains this kind of cleanups: "const int &tabId" -> "int tabId" from function arguments (should have been separate commit but now in the same commit).