Tiny xhr library for node and browser, with promises