<NME> TimeoutMixin.js
<BEF> ADDFILE
<MSG> clean up timeouts and filter logic

fixes #46 by making sure that pending timeouts are cleared on unmount,
for cases like modal layers and portals

<DFF> @@ -0,0 +1,21 @@
+'use strict';
+var { has } = require('../util/_')
+
+
+module.exports = {
+
+  componentWillUnmount() {
+    var timers = this._timers || {};
+
+    for (var k in timers) if ( has(timers, k) ) 
+      clearTimeout(timers[k])
+  },
+
+  setTimeout(key, cb, duration){
+    var timers = this._timers || (this._timers = Object.create(null));
+
+    clearTimeout(timers[key])
+    timers[key] = setTimeout(cb, duration)
+  }
+
+}
\ No newline at end of file

clean up timeouts and filter logic