Normalize handler signature (and test fire)

I made changes discussed in #102 and #80. I used a base `Event` object and added the `.type` property. Doing it that way sets `.isBean` to `true` and sets some non-applicable properties to `undefined`.

Buster does not work on my PC [because it's XP probably](http://docs.busterjs.org/en/latest/developers/windows/). I could not run any Buster tests but I reworked the existing `fire()` ones based on my changes. I made [tests/fire-demo.html](./blob/5965c57ebb1cd3e236799dac61bf6527f7b012d5/tests/fire-demo.html) so we could inspect the args for now.