Handle the "required" attribute for fields.

Alongside, I've added a RendererMixin which should contain all the goodies
shared between mixins.
Don't use the slug as the name of the form.

This allows us to have an extra description field for the form and to have the
name of the form be something really readable rather than an identifier.
Serialize metadata fields
Add a daybed serializer.

Also, this fixes a bit the serialisation process, as it wasn't serializing the
required attributes nor was able to do the relation between lists and the
different types of list displays we have in the form builder.

For instance radio buttons and dropdown have the same underlying structure, so
we were in need of a way to distinguish between them.

They now have a "formbuilderType" field in addition to the other ones, which
allows form builder to know which element to use for display.
Plug the daybed backend via daybed.js.

To accomplish this, we now use flux actions to set the initial state of the
store, and have the app update automatically.

We also made evolve the APIs of the backends to work with javascript promises
(and along the way, I got to understand them).