Allow objects as keys in Map shim

Also, provide support for other Set functions to fully support calamine
usage
Added some urls, cleaned up some urls
Ignore whitespace when gathering text lengths

Also improved some attribute biases, refactored expose attribute
functions to avoid unnecessary iteration as much as possible
Support topic and root custom elements