Refactor HyperlinkClickHandler to cleanup event binding

Move control of event bindings from SessionController to
HyperlinkClickHandler so bindings will be updated whenever modifier is
changed. This allows some simplification as HyperlinkClickHandler can
simply use the KeyboardHandler.Modifier.
Remove unnecessary duplicate click handler in the viewer plugin

The viewer was quite recently modified to use a session controller to
take advantage of the improved selection rendering system. This makes
the manual creation of the hyperlink click manager unnecessary.
Add tooltip support for hyperlink