make jsdom an optional dependency