emacs: use whitespace-mode
emacs: add snippets
emacs: fix semantic-mode, some key bindings