Plugin discovery and loading