Drop legacy support for emulating `match-string-no-properties'

The function `match-string-no-properties' has been available since
Emacs 20.3 so there's little reason not to depend on its existence.
Remove re-definition of `with-syntax-table' macro

This dubious hack seems to have been necessary for versions prior to
Emacs 22, but as we officially support only Emacs 23 or later
currently, this can be safely removed.
Remove support for XEmacs' `fume'/`func-menu'

This simplifies code maintainance by removing bit-rotting code which
can't be tested currently.
Convert `haskell-decl-scan-mode' to use `define-minor-mode'

This commit also removes some more pre-Emacs23 legacy code and
cleans up the mode's doc-string.