Use face symbols instead of face strings to better cooperate with htmlize.
Handle unescaped parentheses characters, e.g. ?(

It's deprecated, but people seem to still use them instead of recommended ?\(

Fixes #11 and #15.
Silence the byte compiler warnings.
Allow the user to define the number of faces used only for the outermost level.

Fixes #19.