Lightweight Promise based XHR library