[FEATURE] Allow createElement to take a hash of attributes

Should close out #87.
Why would `setAttributes` return a string? The aim is that `createElement` will always return an element.