Commit before objects
Made the first shift towards making the plugin system object based.

Right now it is handling commands, and events as separate things, but
that will just have to stand for now. Experimental commit.