Added support for plugin dependencies

Plugin dependencies can now be defined in the plugin annotation, using an array of
plugin ids.