Add PaddingMixin / MarginMixin / configurable.ExtraFallback

PaddingMixin and MarginMixin add configuration entries to widgets that
need padding and/or margin to be specified as horizontal, vertical or
both.

The (padding|margin)_(x|y) properties use a new class called
ExtraFallback that add another layer to the existing configuration
fallbacks (widget defaults, global defaults, user config) to lookup
another configuration entry, in this case, the corresponding
(padding|margin) value.

For example, looking up padding_x will try, in this order:
 - User config
 - Global defaults
 - Widget defaults
 - These three locations again, but for "padding"