Define ComponentPlugin API type

Just writing down how I think plugins should get registered with the system. Was thinking it'd be nice to do the event thing as a plugin.
This documentation belongs in a markdown design doc as well as (instead of?) in a comment.