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.
Add tooltip support for hyperlink