Когда вы делаете так
xhr.onreadystatechange = this.loadListener
вы приравниваете указатель на функцию, и теряете контекст выполнения.
Его нужно сохранить.
Сохраните через замыкание:
var that = this;
xhr.onreadystatechange = function() { that.loadListener(); }