Added Plugin API

There's now a plugin manager that can load, install and uninstall
plugins from the plugins directory (still needs a UI to manage though).
Also updated the client code for loading the new formats.