feat(legend): implementation of legend for visualizations
Implemented a component that can be used by visualisations to display the legend. Left the specific implementation up to the visualisations. Future extensions can include scales (e.g., continuous, categorical) that can be passed as children.