Handle boolean HTML attributes

Made it a map for efficient lookup, and making sure the attributes are properly camelCased.

It’s a bit less restrictive on which elements support which boolean attributes (e.g. you can now set checked on any field, not just inputs). I’m not sure if that could cause issues.