Use JS with preprocessor pygments lexer
Inherit some fields as suggested by ErikRose
Tweak JavascriptPreprocLexer's comment regex so it doesn't have to backtrack.
Make JS syntax coloring handle preprocessor directives. Close #195.