Work with inputNode element directly

Instead of using $scope.command, we work with the inputNode element
directly to have control over the caret position. This let us have
nick completition in the same way as WeeChat.

Fix #74
Remove unnecessary id

Encapsulating the feature in a angular directive let us avoid
setting global ids for elements.