feat(meta): extend element attribute metadata
fixes #71 BREAKING CHANGE: `MetaElement.attribute` has changed from `string` to `MetaAttribute` and both `requiredAttributes` and `deprecatedAttributes` has been merged into object. This only affects API usage, primarily custom rules accessing attribute metadata.See `MIGRATION.md` for details. The old format is deprecated but is internally converted as to not break user configuration. For compatibility it will probably be around for quite a while but users should try to migrate as soon as possible.