Web Inspector: restore sidebar selection state after reloading or reopening inspector.

Closes #413. Closes #414.

The previous strategy for restoring content views after inspector re-open did not
consider the active sidebar and its selection, and tried to recreate the appropriate
selection from the saved content view. However, doesn't work for tree elements in
NavigationSidebarPanel that don't change views when selected---such as script
breakpoints, special breakpoints, call stack, timeline sections, etc.

The patch implements a new strategy that saves the navigation sidebar panel's
view state by serializing the selected element's represented object to a cookie.

Relevant represented object classes implement the saveIdentifierToCookie() method.
Each represented object class also adds a TypeIdentifier property to its
constructor, to aid inexact matching based on represented object type, rather
than its complete identity.

When restoring, the inspector tries to match any added tree elements against
the pending cookie, and selects the element if it matches. A represented object
matches if its serialized identity matches the one that was previously saved.

The inspector view state is now only saved on the page hide event (for saving
across reopen) and before the main frame commits its provisional load (for
saving across same-page reloads). It consolidates 5 view state settings into a
single setting in Main.js.
Web Inspector: remove unused ContentView.saveViewStateToCookie implementations.