plugins can now be whatever you want

a plugin can be a gen_*, provided that it has a function start_link/0
cosmetic changes
generic plugin

generic plugins (gen_fsm, gen_server) should be possible