Fleshing out the plugin design.

It calculates the API version based on reflecting the interfaces. It's barebone
but should be enough. Nothing is working at the moment.