Fixed the input type retrieval

The type should be retrieved through the DOM property rather than the attribute to ensure that the default value of "text" is used when the attribute is not there.
It also adds a few case missing normalizations and cleans the access to a few other properties.

This fixes one of the failing tests.

Closes #108
Good catch. Was there any similar code in other drivers?