add rudimentary imenu and expression nav

* navigate function definitions
* imenu catches function and variable definitions at BOL
* use setq-local
* use a syntax table
* mode customization group
clean up the header