Moved the lexer and parser instances in separate lexer/parser singletons

This allows reusing the filter lexer/parser in tag parsing without
rebuiling the lexer/parser every time.