Only one real listener per `listen` call
Only one real listener per `listen` call

Actually use event listener cache correctly

Fixes #2534 Polymer Gestures creates a new bound handler for every `listen` call

Polymer/polymer,gronke/polymer,MartinsThiago/polymer,tjsavage/polymer,filaraujo/polymer,mgiuffrida/polymer,tjsavage/polymer,jordanyaker/polymer,filaraujo/polymer,jordanyaker/polymer,MartinMoizard/polymer,Endika/polymer,JeremybellEU/polymer,gazal-k/polymer,tjsavage/polymer,JeremybellEU/polymer,gazal-k/polymer,ktiedt/polymer,mgiuffrida/polymer,Endika/polymer,MartinMoizard/polymer,ktiedt/polymer,ikeagold/polymer,gronke/polymer,Polymer/polymer,yforrest/polymer,JeremybellEU/polymer,jordanyaker/polymer,yforrest/polymer,MartinMoizard/polymer,exlerdesigns/polymer,gronke/polymer,ktiedt/polymer,exlerdesigns/polymer,Endika/polymer,yforrest/polymer,ikeagold/polymer,filaraujo/polymer,MartinsThiago/polymer,mgiuffrida/polymer,gazal-k/polymer,MartinsThiago/polymer,Polymer/polymer,ikeagold/polymer,exlerdesigns/polymer