Plugin interface

Here's a first pass at some kind of auto-magic plugin loading (Auto-magic from Gesture's point of view).

I'm not sure how much I like it. It makes for a lot of boilerplate in each `plugin/my_plugin.go` file and means that to namespace files between plugins, you have to make everything a method on your plugin type.

This was more of an exercise to see if it could be done than something I really want to merge.

Thoughts?