Improved Plug bindings with a new PlugClass helper class.

This matches the way other bindings are done, and removes the need to remember to use a nasty macro to bind the various Plug virtual functions.