loose instanceof: check constructor function name instead

Based on discussions in #255, #274, #231 and IRC, my conclusion is that proper duck typing seems too verbose and not checking types at all seems too dangerous. This is my attempt at finding a middle ground.