We are currently relying on plain QName to hold RFC7952 annotations' name. Improve type safety by introducing AnnotationName, which follows the design of MountPointLabel. Update AnnotationStatement to operate on AnnotationName as the argument.
Note that due to overlap, we should also provide an AbstractDeclaredStatement and AbstractStatementSupport subclass to generalize the logic of having a QName-wrapping argument. At the end of the day, AbstractQNameStatementSupport is an identity-based specialization of that.