Add support for 'role' attribute.

This commit adds support for 'role' attribute for all HTML elements except:
 - those elements that are obsolete in HTML5. (See a list of all HTML5 elements here: http://dev.w3.org/html5/markup/elements.html)
 - those elements that can have "no role" AND have strong native semantics. See: http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-strong-native-semantics (The only exception to this exception is the "input" element.)

The commit does not check for valid 'role' values.