More ports from aria-toolkit and enhancements

* Implicit semantics
* More audits:
 * RequiredOwnedAriaRoleMissing
 * DuplicateId
 * RoleNotScoped
 * BadAriaAttribute
 * UnsupportedAriaAttribute
 * AriaOnReservedElement
* Fixed BadAriaRole audit to handle abstract roles
* Several supporting changes and optimizations to utility methods and constants.
* A few minor formatting tweaks

Fun fact: aria-labeledby is supported in Blink (and thus likely WebKit too, unless they "fixed" it post-fork) https://code.google.com/p/chromium/codesearch#chromium/src/out/Debug/gen/blink/core/HTMLNames.cpp&q=labeledby&sq=package:chromium&type=cs&l=961