Define scala-mode with define-derived-mode

This allows hooks and settings to be inherited from the parent mode. It's derived to be compatible with new and old emacs.