Add hooks implementation

This patch provides mechanism to define hooks for the different areas of the admin UI.

It also adds two hooks to get started:

- `pages:show` triggered on the main page editor
- `entries:index` triggered on the entries index page

The entries page also triggers extra events for the page’s entry types. For example, when viewing the entries index for a set called **FooSet** `entries:index` will be triggered followed by `entries:index:foo`:

```js
// app/assets/javascripts/admin.js
slices.on('entries:index', function() {
  // Do stuff that applies to all sets...
});

slices.on('entries:index:foo', function() {
  // Do stuff that applies only to the foo set...
});
```