Use lexer commands instead of actions where available
Use accessor methods for CodeGenerator.templates and CodeGenerator.target
Remove unused Target methods
Separate visibility and "bad word" analysis in Target
Move template loading to Target
Use accessors for fields in Target
Avoid loading the target in the CodeGenerator constructor
Make Target an abstract base class, with default derived implementation JavaTarget
Move Java "bad word" analysis to JavaTarget
Move Java-specific character escaping code to JavaTarget, make methods in Target abstract
Merge branch 'javatarget'
Merge remote-tracking branch 'sharwell/lexer-commands'