Custom Events: add a polyfill in order to support IE9 - IE10
Custom Events Support: encapsulate all the logic related event binding in their own module

Moves all the logic of `Essential.Behavior#delegateEvents` into a new
function `Èssential.Core#mapEvents` which provides a more general
interface to bind events
Custom Events Support: Add documentation to `Essential.Behavior#delegateEvents`
Custom Events Support: Add support to `channels` hash in behaviors

Allows to declare a hash, similar to the `events` one, in which
global events can be declared, allowing better communication between
behaviors
Custom Events Support: Allows behaviors to emit custom events

Adds `Essential.Behavior#emit` to the base behaviors, allowing to emit
events with ease.

This function is fully configurable and have sensible defaults
detailed in the event documentation
Updates the documentation of `Essential.Behavior#delegateEvents` and `Essential.Behavior#listenChannels`
Custom Events Support: Add code styles based on the beautify task
Merge pull request #24 from roperzh/issue-21

Issue 21 - Behavior communication and custom events