Channel: Improve design

Some methods in Channel still need extensive testing, though.
HTML: Minor cleanup
HTML: Fix regression from 9f28c6b94ccf5fcae7a4184aa71fadea4c1d55e6
HTML: For consistency move all occurrences of bind() to Widget
Widget: bind() for Button and Anchor
Widget: Qualified access not needed
Widget: Fix withCursor()
Bootstrap: Synchronise with recent changes in Widget and HTML
Bootstrap: Add missing cast
Widget: Add withCSS() for string channels
Widget: Use Channel[Unit] for consistency with Button.bind()
Widget: Return ``this`` in withCSS()
Widget: Fix withCSS()