Initial Eiki projector server
Refactor part 1 - using error codes and breakout ProjectorBase class