偶然情况下 Json.ToJson() 会报异常

写了一个单元测试中没测出来，但是自己的代码里确实有这个情况。
一个只加载最先可用的 PluginManager

SimplePluginManager 每次初始化时会将全部 Plugin
挨个都初始化一遍，这一个实现不会全部初始化，只会按顺序取出第一个可用的 Plugin 。这样只要在 Plugin 的构造函数里面写一些 log
，就清楚具体是哪个 Plugin 被使用了。