updated places where constructor.name was used to use a cross-browser function, which can also handle a class being set to a variable (in other words, anonymous functions)
updated gem