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.
I've always liked django's "cached_property" descriptor for this pattern...