Download attribute

This fixes #1337 by adding a new DOM property type which represents non-boolean properties that can be minimized. (The only instance I know of is `download`, but there may be more.) In short, a boolean value will cause this property to be treated like `HAS_BOOLEAN_VALUE` properties, while other values mean it will be treated like a normal property.