Role composition can be thought of as much more clever and meaningful multiple
inheritance. The basics of this implementation of roles is:
- If a method is already defined on a class, that method will not be composed in
  from the role.
- If a method that the role "requires" to be implemented is not implemented,
  role application will fail loudly.

Unlike Class::C3, where the last class inherited from "wins," role composition
is the other way around, where first wins. In a more complete system (see Moose)
roles are checked to see if they clash. The goal of this is to be much simpler,
hence disallowing composition of multiple roles at once.
