Don't capitalise host name

Fixes #439
Merge pull request #441 from glowing-bear/connection-form

Don't capitalise host name
Create dark theme by extracting theme settings from glowingbear.css

* Remove style.css as those values should be themable as well.
* Update urls in index.html to link to dark theme by default
Provide a way to change the theme in the settings

* Selected theme is dynamically loaded
* Preferred theme is stored in the settings.
* Default theme = dark
Add light theme
light-theme: darken most colors by 50% and add it to theme manager
[light theme] make the background lighter
[light theme] set highlight colour to something readable
[light theme] improve readability of default grey colours
[light theme] make default text color readable
[light theme] fix the notification colour again
embedded content: check if scrollIntoViewIfNeeded vendor method is available
Correct setId placement

The setId had been implemented once on the protocol instance and once
as a (unused) static method.
Make it easier to switch protocols

This commit introduces a new module to switch the protocol. It will
look at a protocol=xxx query parameter (like the debug mode) to do so
show active protocol name on the front page banner
make the websocket mountpoint protocol dependent
add handling for protocols that support skipLines in line retrieval
ignore empty messages received on websockets, which may be used as pings
Implement challengeauth login mechanism

Some protocols only support login via challengeauth and not via
PLAIN. This adds support for this mechanism.
Add ID to lines

To support protocols with line removal, remember line IDs.