JSObject(obj) leaves obj unchanged if it is already a JSObject