[HTML] Support the 'hashchange' event; patch 1

Minor details are not fully implemented yet.

(HashChangeEventImp): Add more details
(SessionHistoryEntry): Keep url separately; cf. http://www.w3.org/TR/html5/dom.html#the-document%27s-address
(HistoryImp::update): Refine
(WindowImp::open): Queue a task for navigating to a fragment identifier
(WindowImp::navigateToFragmentIdentifier): New