Added 'define-derived-mode' a construct that allows deriving existing mode with new constructs. This is useful for e.g. C and C++ modes.

New faces naming, similar to Emacs naming. With this, there will be known list of predefined face names, but user can always add own set.