Automatically detect property/attribute for HTMLDOMPropertyConfig

Proper implementation of #1512

It does not get rid of `MUST_USE_PROPERTY` (see #2140) and `MUST_USE_ATTRIBUTE` because I'm not 100% sure if we might want to use it or not, but I assume there's no need for it.

I also removed a test that I'm not sure what to do about. It relied on really hacky behavior and I don't really see a simple way of keeping it alive (not really familiar with testing), but please shout if you think otherwise.

This is beneficial for a lot of reasons, one being that we ensure DOM attributes always reflect the intended value. `MUST_USE_PROPERTY` was previously used for some attributes not supported by all browsers/elements, which when updated would just add a custom property to the node object rather than the intended attribute.

Half-related: #1848 and #1657
I'm suspicious of any call to document.*, especially in a tight loop. I'd like to see perf in a real-life pathological case with lots of different types of elements and properties that all need to be looked up.

also, cc @yungsters