Rework event diffing for better optimizability
Rework event diffing for better optimizability

Re-ordered the type checks so that I can avoid polymorphic property
lookups in event updates. (It improved the common case of no change by
a little over ~40%.)

MithrilJS/mithril.js,lhorie/mithril.js,impinball/mithril.js,barneycarroll/mithril.js,MithrilJS/mithril.js,lhorie/mithril.js,barneycarroll/mithril.js,pygy/mithril.js,tivac/mithril.js,tivac/mithril.js,pygy/mithril.js,impinball/mithril.js