What is the purpose of typography.js in Gatsby? I have seen many projects using this and the library claims to provide an easy way to resize fonts and margins. But can't we do that with regular css ems and rems?