Foundation for Tags

Created Attribute, which is the base for all attributes (e.g. class, id,
and style) of elements.
Created TagClass, which acts as the class attribute of a Tag.
Created TagID, which acts as the id attribute of a Tag.
Created TagStyle, which acts as the style attribute of a Tag. TagStyle
will be complex - able to manage multiple properties within a single
object.
Created ContentContainer, which will be implemented by all Tags, but not
used by Tags for void elements.
Created Tag, which will be used by all Tags, including void elements.
Tag is the base for all tags (e.g. Paragraph, Image, and ListItem).