Adds support for 'shared' frameworks

Shared frameworks are created and initialized once per configured instance name.

This feature is enabled by setting `shared: true` in the framework's info.yml.