Add typography component, resolves #3