Restore support of user-customizable constants

php-extra-constants and web-mode-extra-php-constants can be used to
define additional symbols as constant, but this now only makes sense for
lower or camel-cased constants

Ideally we'd implement this using the cc-lang constructs but
c-constant-kwds does not allow user customization (c-lang-defconst). For
identifier keywords cc-mode has the *-extra-types variables but this
does not work for constant keywords.
Support T_NS_SEPARATOR in identifiers

All identifiers are recognized as words in cc-mode/php-mode, so special
care is taken to have our custom highlighting pattern for variable names
not include the separator.