better isNode detection, fix _supports return val

new pull request, plus fix the _supports return val to be 0 or 1 (boolean-like) and not actual object val