Update all components to subclass common base

Should take a lot of the boilerplate code out of updating parameters, also
each component can hardcode the image name expected from the ResourceCache.
Updating demo app for new component API
Update PluginParameters for compilation fix on Mac
Update project files