Reduce usage of ng-show/hide to reduce number of useless DOM elements (fixed)

Progress in the direction of #87, especially on mobile.
This version doesn't break everything for new users.
Revert "use ng-if to hide date instead of css"

That actually decreases performance, because it adds a watcher to every line

This reverts commit 16365db5889eda5c7c508b3c67ea540338ffae1f.
Revert the revertion of multiline and clean it up for new directive.
Bump versions
Better countWatchers

The old one missed a few, two on the input and the one in the title.
This version also doesn't use jQuery

From: http://stackoverflow.com/a/18539624 by StackOverflow user "plantian"
Remove unnecessary uses of jQuery and dead code

Native code is faster anyways ;)
Improve CSS layout. Fix 98% bug that affects chrome/ff differently.

Conflicts:
	css/glowingbear.css
Pixel adjustments to attempt perfectly align icons in top bar
css: merge body tags
Add space to bottom of bufferlines
Travis: disable build success IRC notifications
Support clearing of buffer lines with command /c or /clear
Catch DOMException
Change the connect button text based on connection status
Fix bug where updateNickSpeak would fail on lines without a prefix
Fix that bug where only one line was loaded

Let me tell the story backwards:
For some reason, only one line would be fetched in `fetchMoreLines`, but
neither `numLines` nor `buffer.requestedLines` were `undefined`. The
paramater `numLines` must have had some strange value, though.
`connection.fetchMoreLines` is invoked through the main controllers
`$scope.fetchMoreLines`, which sets the parameter to `$scope.lines` if it was
undefined before. That value is computed in `$scope.calculateNumLines`,
which takes the height of the lines area and divides it by the height of the first
bufferline. This computation is retriggered on every `resize` event.
The first bufferline is the 'fetch more lines' link at the top of the window. If the
currently active buffer doesn't have more lines, it is hidden with `ngHide`,
causing its `clientHeight` property to be `0`, and the number of lines to be
fetched `$scope.lines = Infinity` (due to a division by zero).
In `connection.fetchMoreLines`, the following request is then made:
`"buffer:0x" + buffer.id + "/own_lines/last_line(-" + numLines + ")/data"`
to which WeeChat responds with one line. Voilà, there's your mess.
Don't send input bar contents on buffer switch

Fixes #277
Improve encryption instructions
Only support the weechat defaults for clearing buffer
Don't send empty commands, use angular model instead of accessing
element value directly. Fixes problem with pressing enter will send
previous value in history.