Break the layout -> compositing dependency

This adds a new layout_traits component for the shared trait.
This should allow for faster builds.