Map attribute values

Previously, we fixed the `style` attribute that takes a map to not require a JS map/object.
This expands that to any map attribute value because there are other attributes that take maps, like `dangerouslySetInnerHTML`