combined engine.ajax.handle_readystatechange() into engine.ajax.request(), added key argument to engine.ajax.request(), added engine.ajax.requests that stores request keys and responseTexts