Several tweaks

* Use setq-default whenever possible.

* Move js2-mode specific logic into its own defun.

* Make distinction between generic and specific mode initialisers.

* Minor bug fixes.