* add function match_shell_handler to probe shell #! dispatcher line
* add mode field shell_handlers for generic syntax probe function
* add memfind to find keywords from buf+length
* add shell handlers for ruby, perl and python flavors, lua, haskell, ocaml
* remove perl_mode_probe
* add C++ keywords, include namespace in identifiers
* add cpp_mode_probe to detect C++ header files
* add shell handler for tcc scripts
* remove calc_mode_probe
* modify scoring between shell-script-mode and simpler sharp-mode
* create separate modes for all syntax colorizers
* add colorizing_flags to mode structure for code sharing
* pass ModeDef struct pointer to colorizing function
* remove obsolete window fields
* always regsister callbacks on s->top and s->top_offset
* handle saved_data generically, remove window callback
this will be replaced with view history mecanism.
* pass state and state_only as members of QEColorizeContext
* simplify ColorizeFunc, make them more consistent
* use offsets instead of pointers to prepare for further API changes
* add mode_flags and mode_name in EditState
* pass mode_flags to ColorizeFuncs
* define several CLANG mode flavors for C, C++, Javascript, Java, etc.
* add flavor specific keyword lists for c-mode
* add regex support in c-mode for Javascript flavor
* added colorize_func in ModeDef struct
* removed mode_init functions for most language modes
* other small improvements in mode_probe functions
* no need for get_basename in mode_probe functions
* pass ModeDef pointer to mode_probe functions
* add extensions field to mode structure
* rename ascii mode to binary mode
* rename mode variables and fields to more specific names