Summary:
Adds abstract classes NativePlugin and TableNativePlugin.
Extend NativePlugin to implement a new NativePlugin type/template.
TableNativePlugin is an example of that. Extend TableNativePlugin to add a particular instance of a table plugin. See the stacked diff for an example of that (newsfeed inspector).
I think I'm going to change the NativePlugin implementation so it uses composition instead of inheriting from FlipperPlugin, so that the concrete subclasses don't get access to the FlipperPlugin primitive methods like onConnect etc. But I don't mind shipping this as is and changing it separately.
Reviewed By: passy
Differential Revision: D14505912
fbshipit-source-id: 0534147112aaf4c5a41d2d3e08de855767b2a010