Setup entrypoints

Fixes #85. Needs review.
Instead should you do `if self.dependencies_satisfied(plugin_obj):  # load plugin` ? This is sort of a double negative as is.