refactor(nodeName_): remove IE8 specific branch
perf(nodeName_): simplify the code and reduce the number of DOM calls
refactor(hashKey): don't generate memory garbage

we now store both the object type and the id as the hashkey and return it for all objects.

for primitives we still have to do string concatination because we can't use expandos on them to
store the hashkey