Add support for nesting embeddables

This is a possible approach towards adding support for nesting embeddables (embeddables inside embeddables). I'm not sure whether this implementation is the best solution but I think it is something to start with. It seems to work flawlessly so far but I'm not sure if I missed something, so any feedback is welcome ;)
Another data structure would maybe even be cleaner: could just be a small, `final` `InheritanceMap` object/utility