Introduce RenderProcessHostObserver::RenderProcessExited, use it in a new RenderProcessHostWatcher, and switch browser tests over to that new watcher.

BUG=170921
TEST=no change

Review URL: https://codereview.chromium.org/121493002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242832 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 242832
cc: Improve worker pool performance by using std:make_heap instead of std:priority_queue.

This reduces the complexity of building a new "ready to run" queue in
WorkerPool::SetTaskGraph() from O(N·log(N)) to O(N).

This refactor is also useful for supporting shared worker threads as it
makes it easy to reuse the compare function and maintain a heap of
ready to run task namespaces.

BUG=246546

Review URL: https://codereview.chromium.org/123113002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242833 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 242833