Implement QualifiedMemberExpression (this.that)

note that a QualifiedMemberExpression has a MemberOperator, which has
three cases:
* MemberOp (‘.’)
* SafeMemberOp (‘?.’)
* SpreadMemberOp (‘*.’)
I have no idea how the latter two should look in case of a line break
(see #21), so I only inplemented the first case for now.
Implement several "=" statements.

* AttributeDeclarations
* SpecifierExpressions
* SpecifierStatements

Also extract a Patterns compilation unit that collects reusable patterns
(for example, we have to write a semicolon at the end of statements,
attribute declarations and specifier statements, but can’t reuse that
code inside the Visitor pattern).
Implement simple annotations