Import unmodified callbacks-related codegen source from Gecko.
Generate code for handling callbacks. Implement add/removeEventListener and hacky dispatchEvent proof-of-concept.
Add Event and EventTarget hierarchy via gross AbstractFoo mechanism.
Add basic event dispatch with bubbling, capturing, and propagation interruption.
auto merge of #1171 : jdm/servo/events2, r=jdm,metajack

Now with a split between commits that just pull in unmodified Gecko code and those that modify it.