Add more fields to resources.

This is only a proposal and is totally open to debate.
We should be at least three to agree on something before merging.

Possible improvements:
* Extend this to any node type and not just resources. (Would it make sense?)
* Make the `image` attributes of buttons optional. (Not sure this would give a good rendering on most UIs)