Making the destroy function working on IE

+ indexOf polyfill
+ on/off polyfill only support functions
+ handleEvent: it was hard to handle the
handleEvent for IE case, because we needed to create a new function
which is not referenced anywhere and can't be unbound when doing a off().