Added IPlugin and Plugin Host

Trying to Implement Plugin System right in the beginning to avoid
Problems later