feat(ribbon-directive): add <ribbon> component

Embedding any block object in the <ribbon> component will cause the same
named directive to build the ribbon wrapper around the object.
First draft (only favorite, no customization)