Cytoscape.js uses the jQuery event model: It creates an event object, referencing the original event. If an event is triggered -- say in the renderer -- without passing the original event, then there isn't much information in the event you get in your callback.
You don't really need event information for what you're doing anyway. Inside the handler callback, the reference to `this` is the element that triggered the event. You can do `this.renderedPosition()`, `this.width()`, and so on. This will give you enough information to position the qtip.
I will be creating a Cytoscape.js extension that let's you use qtips directly. So if you can wait a couple of weeks, that may be the better option for you.